Skip to content
Snippets Groups Projects
  1. May 10, 2017
  2. Jun 26, 2015
  3. Apr 24, 2008
    • Fons Rademakers's avatar
      From Anar: · 0737a4ad
      Fons Rademakers authored
      -  added  tests for  the following  cases:
         * TBtree with std::for_each (Full iteration: from the Begin up to the End)
         * TBtree with std::find_if
         * TBtree with std::count_if
         * TOrdCollection with std::for_each (Full iteration: from the Begin
           up to the End)
         * TOrdCollection with std::find_if
         * TOrdCollection with std::count_if
         * TRefArray with std::for_each (Full iteration: from the Begin up to the End)
         * TRefArray with std::find_if
         * TRefArray with std::count_if
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23532 27541ba8-7e3a-0410-8455-c3a389f83636
      0737a4ad
  4. Apr 19, 2008
  5. Apr 18, 2008
    • Fons Rademakers's avatar
      From Anar: · 6e2ff135
      Fons Rademakers authored
      - the SFind functor has been simplified and now become a fully copyable functor
      - added  tests for  the following  cases:
         * TMap with std::for_each (Full iteration: from the Begin up to the End)
         * TMap with std::for_each (Partial iteration: from the Begin up to the
           3rd element)
         * TMap with std::find_if
         * TMap with std::count_if
      - cosmetic changes
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23329 27541ba8-7e3a-0410-8455-c3a389f83636
      6e2ff135
  6. Apr 14, 2008
    • Fons Rademakers's avatar
      From Anar and me: · dd5bdc5a
      Fons Rademakers authored
      The background is the following. While working on the PROOF code I found
      that enumerating TList is an inconvenient and a long operation, I had to
      write the same code all over the place and make duplications. I tried
      to use STD algorithms with it, namely std::for_each, and failed.
      I therefore decided to enable std::for_each algorithm for ROOT 
      Containers/Iterators by making as few as possible changes, without rewriting
      iterators at all. Now with only two simple lines of code one is able to
      iterate through a container:
      
      TIter iter(&list);
      for_each(iter.Begin(), TIter::End(), SEnumFunctor());
      
      or
      
      for_each(iter.Begin(), inter_end, SEnumFunctor());
      
      where iter_end could be an iterator to a middle of the container.
      
      After I had changed Iterators so that they could be used with std::for_each,
      I decided to go further and did some more changes. As a result,
      
        - I have updated CINT implementation of some algorithms (they look now
          more or less better in terms of the standard),
      
        - TList and TObjArray can be now used with std::for_each, std::find_if,
          std::count_if (probably with some more algorithms. I've listed here
          only what has been *checked* by me). Other containers will be supported
          in a next patch.
      
        - A test program has been added: $ROOTSYS/test/stressIterators.cxx
      
        - A tutorial macro has been added: $ROOTSYS/tutorials/cont/TListAndSTL.C
      
      Patch has been verified on Linux, MacOS X, Solaris 10 i386 and Windows.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23198 27541ba8-7e3a-0410-8455-c3a389f83636
      dd5bdc5a
Loading