You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by au...@locus.apache.org on 2000/11/30 20:26:36 UTC

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

auriemma    00/11/30 11:26:31

  Modified:    c/src/PlatformSupport ReusableArenaAllocator.hpp
                        ReusableArenaBlock.hpp
  Log:
  HP port based on work from Trevor Smigiel and Troy Heber.
  
  Revision  Changes    Path
  1.11      +17 -12    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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ReusableArenaAllocator.hpp	2000/11/03 21:38:18	1.10
  +++ ReusableArenaAllocator.hpp	2000/11/30 19:26:19	1.11
  @@ -78,7 +78,7 @@
   
   	typedef ReusableArenaBlock<ObjectType>				ReusableArenaBlockType;
   
  -	typedef ReusableArenaBlockType::size_type			size_type;
  +	typedef typename ReusableArenaBlockType::size_type	size_type;
   
   	typedef ArenaAllocator<ObjectType,
   						   ReusableArenaBlockType>		BaseClassType;
  @@ -126,9 +126,10 @@
   		}
   		else
   		{
  -			const ArenaBlockListType::reverse_iterator	theEnd = m_blocks.rend();
  +			// Note that this-> is required by template lookup rules.
  +			const typename ArenaBlockListType::reverse_iterator	theEnd = this->m_blocks.rend();
   
  -			ArenaBlockListType::reverse_iterator	i = m_blocks.rbegin();
  +			typename ArenaBlockListType::reverse_iterator	i = this->m_blocks.rbegin();
   
   			while(i != theEnd)
   			{
  @@ -167,11 +168,12 @@
   		if (m_lastBlockReferenced == 0 ||
   			m_lastBlockReferenced->blockAvailable() == false)
   		{
  -			// Search back for a block with some space available...
  -			const ArenaBlockListType::reverse_iterator	theEnd = m_blocks.rend();
  +			// Search back for a block with some space available...		
  +			const typename ArenaBlockListType::reverse_iterator	theEnd = this->m_blocks.rend();
  +			
  +			// Note that this-> is required by template lookup rules.
  +			typename ArenaBlockListType::reverse_iterator	i = this->m_blocks.rbegin();
   
  -			ArenaBlockListType::reverse_iterator	i = m_blocks.rbegin();
  -
   			while(i != theEnd)
   			{
   				assert(*i != 0);
  @@ -193,9 +195,10 @@
   			{
   				// No blocks have free space available, so create a new block, and
   				// push it on the list.
  -				m_lastBlockReferenced = new ReusableArenaBlockType(m_blockSize);
  +				// Note that this-> is required by template lookup rules.
  +				m_lastBlockReferenced = new ReusableArenaBlockType(this->m_blockSize);
   
  -				m_blocks.push_back(m_lastBlockReferenced);
  +				this->m_blocks.push_back(m_lastBlockReferenced);
   			}
   		}
   		assert(m_lastBlockReferenced != 0 && m_lastBlockReferenced->blockAvailable() == true);
  @@ -212,7 +215,8 @@
   	virtual void
   	commitAllocation(ObjectType*	theObject)
   	{
  -		assert(m_blocks.size() != 0 && m_lastBlockReferenced != 0 && m_lastBlockReferenced->ownsBlock(theObject) == true);
  +		// Note that this-> is required by template lookup rules.
  +		assert(this->m_blocks.size() != 0 && m_lastBlockReferenced != 0 && m_lastBlockReferenced->ownsBlock(theObject) == true);
   
   		m_lastBlockReferenced->commitAllocation(theObject);
   		assert(m_lastBlockReferenced->ownsObject(theObject) == true);
  @@ -241,9 +245,10 @@
   			if (fResult == false)
   			{
   				// Search back for a block with some space available...
  -				const ArenaBlockListType::const_reverse_iterator	theEnd = m_blocks.rend();
  +				// Note that this-> is required by template lookup rules.
  +				const typename ArenaBlockListType::const_reverse_iterator	theEnd = this->m_blocks.rend();
   
  -				ArenaBlockListType::const_reverse_iterator	i = m_blocks.rbegin();
  +				typename ArenaBlockListType::const_reverse_iterator	i = this->m_blocks.rbegin();
   
   				while(i != theEnd)
   				{
  
  
  
  1.7       +7 -3      xml-xalan/c/src/PlatformSupport/ReusableArenaBlock.hpp
  
  Index: ReusableArenaBlock.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/ReusableArenaBlock.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ReusableArenaBlock.hpp	2000/08/22 20:18:51	1.6
  +++ ReusableArenaBlock.hpp	2000/11/30 19:26:22	1.7
  @@ -71,8 +71,10 @@
   {
   public:
   
  -	typedef ArenaBlock<ObjectType>	BaseClassType;
  +	typedef ArenaBlock<ObjectType>				BaseClassType;
   
  +	typedef typename BaseClassType::size_type	size_type;
  +
   	/*
   	 * Construct an ArenaBlock of the specified size
   	 * of objects.
  @@ -88,7 +90,8 @@
   
   	~ReusableArenaBlock()
   	{
  -		destroyAll();
  +		// Note that this-> is required by template lookup rules.
  +		this->destroyAll();
   	}
   
   	/*
  @@ -295,7 +298,8 @@
   			{
   				if (m_freeList.isSet(i) == true)
   				{
  -					theResult = getBlockAddress(i);
  +					// Note that this-> is required by template lookup rules.
  +					theResult = this->getBlockAddress(i);
   
   					break;
   				}