19 #if !defined(ARENABLOCK_INCLUDE_GUARD_1357924680) 20 #define ARENABLOCK_INCLUDE_GUARD_1357924680 32 template<
class ObjectType,
33 #if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS) 36 class SizeType =
size_t>
56 MemoryManager& theManager,
64 assert( this->m_objectCount <= this->m_blockSize );
66 for (
size_type i = 0; i < this->m_objectCount ; ++i )
74 MemoryManager& theManager,
96 if (this->m_objectCount == this->m_blockSize)
102 assert(this->m_objectBlock != 0);
104 return this->m_objectBlock + this->m_objectCount;
115 commitAllocation(ObjectType* )
120 assert(theBlock == this->m_objectBlock + this->m_objectCount);
121 assert(this->m_objectCount < this->m_blockSize);
123 ++this->m_objectCount;
138 return this->isInBorders(theObject, this->m_objectCount);
159 #endif // !defined(ARENABLOCK_INCLUDE_GUARD_1357924680)
bool ownsObject(const ObjectType *theObject) const
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
ArenaBlockBase< ObjectType, SizeType > BaseClassType
void commitAllocation(ObjectType *theBlock)
ObjectType * allocateBlock()
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
ArenaBlock(MemoryManager &theManager, size_type theBlockSize)
Type * XalanConstruct(MemoryManager &theMemoryManager, Type *&theInstance)
void XalanDestroy(Type &theArg)
static ThisType * create(MemoryManager &theManager, size_type theBlockSize)
ArenaBlock< ObjectType, SizeType > ThisType
BaseClassType::size_type size_type