Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ReusableArenaBlock< ObjectType, SizeType > Class Template Reference

#include <ReusableArenaBlock.hpp>

Inherits ArenaBlockBase< ObjectType, SizeType >.

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 ArenaBlockBase< ObjectType, SizeType >
typedef ArenaBlockBase< ObjectType, SizeType > ThisType
 
typedef XalanAllocator< ObjectType > AllocatorType
 
typedef SizeType 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 ArenaBlockBase< ObjectType, SizeType >
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 ArenaBlockBase< ObjectType, SizeType >
 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 ArenaBlockBase< ObjectType, SizeType >
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 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> 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 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> ReusableArenaBlock< ObjectType, SizeType >::ThisType

Definition at line 50 of file ReusableArenaBlock.hpp.

Constructor & Destructor Documentation

◆ ReusableArenaBlock()

template<class ObjectType, class SizeType = unsigned short>
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>
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* ReusableArenaBlock< ObjectType, SizeType >::allocateBlock ( )
inline

Definition at line 135 of file ReusableArenaBlock.hpp.

◆ commitAllocation()

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

Definition at line 185 of file ReusableArenaBlock.hpp.

◆ create()

template<class ObjectType, class SizeType = unsigned short>
static ThisType* 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 ReusableArenaBlock< ObjectType, SizeType >::destroyObject ( ObjectType *  theObject)
inline

Definition at line 200 of file ReusableArenaBlock.hpp.

◆ isOccupiedBlock()

template<class ObjectType, class SizeType = unsigned short>
bool 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 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 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:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo