19#if !defined(ARENABLOCK_INCLUDE_GUARD_1357924680)
20#define ARENABLOCK_INCLUDE_GUARD_1357924680
32template<
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);
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
ObjectType * allocateBlock()
ArenaBlock< ObjectType, SizeType > ThisType
void commitAllocation(ObjectType *theBlock)
bool ownsObject(const ObjectType *theObject) const
static ThisType * create(MemoryManager &theManager, size_type theBlockSize)
ArenaBlock(MemoryManager &theManager, size_type theBlockSize)
BaseClassType::size_type size_type
ArenaBlockBase< ObjectType, SizeType > BaseClassType
Type * XalanConstruct(MemoryManager &theMemoryManager, Type *&theInstance)
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
void XalanDestroy(Type &theArg)