dbertoni    00/07/11 14:03:33

  Modified:    c/src/PlatformSupport ArenaAllocator.hpp
                        ReusableArenaAllocator.hpp
  Log:
  Made destructor virtual.  Added member function to reset the allocator.
  
  Revision  Changes    Path
  1.4       +16 -7     xml-xalan/c/src/PlatformSupport/ArenaAllocator.hpp
  
  Index: ArenaAllocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/ArenaAllocator.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ArenaAllocator.hpp        2000/07/10 22:45:28     1.3
  +++ ArenaAllocator.hpp        2000/07/11 21:03:31     1.4
  @@ -108,15 +108,10 @@
        {
        }
   
  +     virtual
        ~ArenaAllocator()
        {
  -#if !defined(XALAN_NO_NAMESPACES)
  -             using std::for_each;
  -#endif
  -
  -             for_each(m_blocks.begin(),
  -                              m_blocks.end(),
  -                              ArenaDeleteFunctor<ArenaBlockType>());
  +             reset();
        }
   
        /*
  @@ -175,6 +170,20 @@
   
                m_blocks.back()->commitAllocation(theObject);
                assert(m_blocks.back()->ownsObject(theObject) == true);
  +     }
  +
  +     void
  +     reset()
  +     {
  +#if !defined(XALAN_NO_NAMESPACES)
  +             using std::for_each;
  +#endif
  +
  +             for_each(m_blocks.begin(),
  +                              m_blocks.end(),
  +                              ArenaDeleteFunctor<ArenaBlockType>());
  +
  +             m_blocks.clear();
        }
   
   protected:
  
  
  
  1.6       +1 -0      
xml-xalan/c/src/PlatformSupport/ReusableArenaAllocator.hpp
  
  Index: ReusableArenaAllocator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/PlatformSupport/ReusableArenaAllocator.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ReusableArenaAllocator.hpp        2000/07/10 22:45:28     1.5
  +++ ReusableArenaAllocator.hpp        2000/07/11 21:03:31     1.6
  @@ -105,6 +105,7 @@
        {
        }
   
  +     virtual
        ~ReusableArenaAllocator()
        {
        }
  
  
  

Reply via email to