You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@locus.apache.org on 2000/07/11 23:03:34 UTC

cvs commit: xml-xalan/c/src/PlatformSupport ArenaAllocator.hpp ReusableArenaAllocator.hpp

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()
   	{
   	}