Xalan-C++ API Reference  1.12.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
xalanc::ReusableArenaBlock< ObjectType, SizeType > Class Template Reference

#include <xalanc/PlatformSupport/ReusableArenaBlock.hpp>

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

Classes

struct  NextBlock
 

Public Types

typedef ArenaBlockBase< ObjectType, SizeType > BaseClassType
 
typedef BaseClassType::size_type size_type
 
typedef ReusableArenaBlock< ObjectType, SizeType > ThisType
 
- Public Types inherited from xalanc::ArenaBlockBase< ObjectType, unsigned short >
typedef ArenaBlockBase< ObjectType, unsigned short > ThisType
 
typedef XalanAllocator< ObjectType > AllocatorType
 
typedef unsigned short size_type
 

Public Member Functions

 ReusableArenaBlock (MemoryManager &theManager, size_type theBlockSize)
 
 ~ReusableArenaBlock ()
 
ObjectType * allocateBlock ()
 
void commitAllocation (ObjectType *)
 
void destroyObject (ObjectType *theObject)
 
bool ownsObject (const ObjectType *theObject) const
 
- Public Member Functions inherited from xalanc::ArenaBlockBase< ObjectType, unsigned short >
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)
 

Protected Member Functions

bool shouldDestroyBlock (const ObjectType *theObject) const
 
bool isOccupiedBlock (const ObjectType *block) const
 
- Protected Member Functions inherited from xalanc::ArenaBlockBase< ObjectType, unsigned short >
 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
 

Additional Inherited Members

- Protected Attributes inherited from xalanc::ArenaBlockBase< ObjectType, unsigned short >
AllocatorType m_allocator
 
size_type m_objectCount
 
const size_type m_blockSize
 
ObjectType * m_objectBlock
 

Detailed Description

template<class ObjectType, class SizeType = unsigned short>
class xalanc::ReusableArenaBlock< ObjectType, SizeType >

Definition at line 41 of file ReusableArenaBlock.hpp.

Member Typedef Documentation

◆ BaseClassType

template<class ObjectType , class SizeType = unsigned short>
typedef ArenaBlockBase<ObjectType, SizeType> xalanc::ReusableArenaBlock< ObjectType, SizeType >::BaseClassType

Definition at line 46 of file ReusableArenaBlock.hpp.

◆ size_type

template<class ObjectType , class SizeType = unsigned short>
typedef BaseClassType::size_type xalanc::ReusableArenaBlock< ObjectType, SizeType >::size_type

Definition at line 48 of file ReusableArenaBlock.hpp.

◆ ThisType

template<class ObjectType , class SizeType = unsigned short>
typedef ReusableArenaBlock<ObjectType, SizeType> xalanc::ReusableArenaBlock< ObjectType, SizeType >::ThisType

Definition at line 50 of file ReusableArenaBlock.hpp.

Constructor & Destructor Documentation

◆ ReusableArenaBlock()

template<class ObjectType , class SizeType = unsigned short>
xalanc::ReusableArenaBlock< ObjectType, SizeType >::ReusableArenaBlock ( MemoryManager &  theManager,
size_type  theBlockSize 
)
inline

Definition at line 80 of file ReusableArenaBlock.hpp.

◆ ~ReusableArenaBlock()

template<class ObjectType , class SizeType = unsigned short>
xalanc::ReusableArenaBlock< ObjectType, SizeType >::~ReusableArenaBlock ( )
inline

Definition at line 96 of file ReusableArenaBlock.hpp.

Member Function Documentation

◆ allocateBlock()

template<class ObjectType , class SizeType = unsigned short>
ObjectType* xalanc::ReusableArenaBlock< ObjectType, SizeType >::allocateBlock ( )
inline

Definition at line 135 of file ReusableArenaBlock.hpp.

◆ commitAllocation()

template<class ObjectType , class SizeType = unsigned short>
void xalanc::ReusableArenaBlock< ObjectType, SizeType >::commitAllocation ( ObjectType *  )
inline

Definition at line 185 of file ReusableArenaBlock.hpp.

◆ create()

template<class ObjectType , class SizeType = unsigned short>
static ThisType* xalanc::ReusableArenaBlock< ObjectType, SizeType >::create ( MemoryManager &  theManager,
size_type  theBlockSize 
)
inlinestatic

Definition at line 115 of file ReusableArenaBlock.hpp.

◆ destroyObject()

template<class ObjectType , class SizeType = unsigned short>
void xalanc::ReusableArenaBlock< ObjectType, SizeType >::destroyObject ( ObjectType *  theObject)
inline

Definition at line 200 of file ReusableArenaBlock.hpp.

◆ isOccupiedBlock()

template<class ObjectType , class SizeType = unsigned short>
bool xalanc::ReusableArenaBlock< ObjectType, SizeType >::isOccupiedBlock ( const ObjectType *  block) const
inlineprotected

Definition at line 268 of file ReusableArenaBlock.hpp.

◆ ownsObject()

template<class ObjectType , class SizeType = unsigned short>
bool xalanc::ReusableArenaBlock< ObjectType, SizeType >::ownsObject ( const ObjectType *  theObject) const
inline

Definition at line 241 of file ReusableArenaBlock.hpp.

◆ shouldDestroyBlock()

template<class ObjectType , class SizeType = unsigned short>
bool xalanc::ReusableArenaBlock< ObjectType, SizeType >::shouldDestroyBlock ( const ObjectType *  theObject) const
inlineprotected

Definition at line 260 of file ReusableArenaBlock.hpp.


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