Xalan-C++ API Reference 1.12.0
xalanc::ArenaBlock< ObjectType, SizeType > Class Template Reference

#include <xalanc/PlatformSupport/ArenaBlock.hpp>

Inheritance diagram for xalanc::ArenaBlock< ObjectType, SizeType >:
[legend]
Collaboration diagram for xalanc::ArenaBlock< ObjectType, SizeType >:
[legend]

Public Types

typedef ArenaBlockBase< ObjectType, SizeType > BaseClassType
typedef ArenaBlock< ObjectType, SizeType > ThisType
typedef BaseClassType::size_type size_type
Public Types inherited from xalanc::ArenaBlockBase< ObjectType, size_t >
typedef ArenaBlockBase< ObjectType, size_t > ThisType
typedef XalanAllocator< ObjectType > AllocatorType
typedef size_t size_type

Public Member Functions

 ArenaBlock (MemoryManager &theManager, size_type theBlockSize)
 ~ArenaBlock ()
ObjectType * allocateBlock ()
void commitAllocation (ObjectType *theBlock)
bool ownsObject (const ObjectType *theObject) const
Public Member Functions inherited from xalanc::ArenaBlockBase< ObjectType, size_t >
MemoryManager & getMemoryManager ()
bool blockAvailable () const
bool isEmpty () const
size_type getCountAllocated () const
size_type getBlockSize () const
bool ownsBlock (const ObjectType *theObject) const

Static Public Member Functions

static ThisTypecreate (MemoryManager &theManager, size_type theBlockSize)

Additional Inherited Members

Protected Member Functions inherited from xalanc::ArenaBlockBase< ObjectType, size_t >
 ArenaBlockBase (MemoryManager &theManager, size_type theBlockSize)
 ~ArenaBlockBase ()
bool isInBorders (const ObjectType *theObject, size_type rightBoundary) const
size_type getBlockOffset (const ObjectType *theObject) const
ObjectType * getBlockAddress (size_type theOffset) const
Protected Attributes inherited from xalanc::ArenaBlockBase< ObjectType, size_t >
AllocatorType m_allocator
size_type m_objectCount
const size_type m_blockSize
ObjectType * m_objectBlock

Detailed Description

template<class ObjectType, class SizeType = size_t>
class xalanc::ArenaBlock< ObjectType, SizeType >

Definition at line 38 of file ArenaBlock.hpp.

Member Typedef Documentation

◆ BaseClassType

template<class ObjectType, class SizeType = size_t>
typedef ArenaBlockBase<ObjectType, SizeType> xalanc::ArenaBlock< ObjectType, SizeType >::BaseClassType

Definition at line 42 of file ArenaBlock.hpp.

◆ size_type

template<class ObjectType, class SizeType = size_t>
typedef BaseClassType::size_type xalanc::ArenaBlock< ObjectType, SizeType >::size_type

Definition at line 46 of file ArenaBlock.hpp.

◆ ThisType

template<class ObjectType, class SizeType = size_t>
typedef ArenaBlock<ObjectType, SizeType> xalanc::ArenaBlock< ObjectType, SizeType >::ThisType

Definition at line 44 of file ArenaBlock.hpp.

Constructor & Destructor Documentation

◆ ArenaBlock()

template<class ObjectType, class SizeType = size_t>
xalanc::ArenaBlock< ObjectType, SizeType >::ArenaBlock ( MemoryManager & theManager,
size_type theBlockSize )
inline

Definition at line 55 of file ArenaBlock.hpp.

◆ ~ArenaBlock()

template<class ObjectType, class SizeType = size_t>
xalanc::ArenaBlock< ObjectType, SizeType >::~ArenaBlock ( )
inline

Definition at line 62 of file ArenaBlock.hpp.

Member Function Documentation

◆ allocateBlock()

template<class ObjectType, class SizeType = size_t>
ObjectType * xalanc::ArenaBlock< ObjectType, SizeType >::allocateBlock ( )
inline

Definition at line 93 of file ArenaBlock.hpp.

◆ commitAllocation()

template<class ObjectType, class SizeType = size_t>
void xalanc::ArenaBlock< ObjectType, SizeType >::commitAllocation ( ObjectType * theBlock)
inline

Definition at line 117 of file ArenaBlock.hpp.

◆ create()

template<class ObjectType, class SizeType = size_t>
ThisType * xalanc::ArenaBlock< ObjectType, SizeType >::create ( MemoryManager & theManager,
size_type theBlockSize )
inlinestatic

Definition at line 73 of file ArenaBlock.hpp.

◆ ownsObject()

template<class ObjectType, class SizeType = size_t>
bool xalanc::ArenaBlock< ObjectType, SizeType >::ownsObject ( const ObjectType * theObject) const
inline

Definition at line 136 of file ArenaBlock.hpp.


The documentation for this class was generated from the following file: