19 #if !defined(ARENAALLOCATOR_INCLUDE_GUARD_1357924680)
20 #define ARENAALLOCATOR_INCLUDE_GUARD_1357924680
41 template<
class ObjectType,
42 #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
45 class ArenaBlockType = ArenaBlock<ObjectType> >
63 MemoryManager& theManager,
65 m_blockSize(theBlockSize),
79 return m_blocks.getMemoryManager();
85 return m_blocks.getMemoryManager();
110 m_blockSize = theSize;
134 if (m_blocks.empty() ==
true ||
135 m_blocks.back()->blockAvailable() ==
false)
138 ArenaBlockType::create(
143 m_blocks.empty() ==
false &&
144 m_blocks.back() != 0 &&
145 m_blocks.back()->blockAvailable() ==
true);
147 return m_blocks.back()->allocateBlock();
160 m_blocks.empty() ==
false &&
161 m_blocks.back()->ownsBlock(theObject) ==
true);
163 m_blocks.back()->commitAllocation(theObject);
165 assert(m_blocks.back()->ownsObject(theObject) ==
true);
171 bool fResult =
false;
176 const const_reverse_iterator theEnd = this->m_blocks.rend();
178 const_reverse_iterator i = this->m_blocks.rbegin();
184 if ((*i)->ownsObject(theObject) ==
true)
235 #endif // !defined(ARENAALLOCATOR_INCLUDE_GUARD_1357924680)