Xalan-C++ API Reference  1.12.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
xalanc::ReusableArenaAllocator< ObjectType > Class Template Reference

#include <xalanc/PlatformSupport/ReusableArenaAllocator.hpp>

Inheritance diagram for xalanc::ReusableArenaAllocator< ObjectType >:
[legend]
Collaboration diagram for xalanc::ReusableArenaAllocator< ObjectType >:
[legend]

Public Types

typedef ReusableArenaBlock< ObjectType > ReusableArenaBlockType
 
typedef ReusableArenaBlockType::size_type size_type
 
typedef ArenaAllocator< ObjectType, ReusableArenaBlockTypeBaseClassType
 
typedef ReusableArenaAllocator< ObjectType > ThisType
 
typedef XalanList< ReusableArenaBlockType * > ArenaBlockListType
 
typedef ArenaBlockListType::iterator iterator
 
typedef ArenaBlockListType::const_iterator const_iterator
 
typedef ArenaBlockListType::reverse_iterator reverse_iterator
 
typedef ArenaBlockListType::const_reverse_iterator const_reverse_iterator
 
- Public Types inherited from xalanc::ArenaAllocator< ObjectType, ReusableArenaBlock< ObjectType > >
typedef ArenaAllocator< ObjectType, ReusableArenaBlock< ObjectType > > ThisType
 
typedef XalanList< ReusableArenaBlock< ObjectType > * > ArenaBlockListType
 
typedef ReusableArenaBlock< ObjectType > ::size_type size_type
 

Public Member Functions

 ReusableArenaAllocator (MemoryManager &theManager, size_type theBlockSize, bool destroyBlocks=false)
 
virtual ~ReusableArenaAllocator ()
 
bool destroyObject (ObjectType *theObject)
 
virtual ObjectType * allocateBlock ()
 
virtual void commitAllocation (ObjectType *theObject)
 
virtual bool ownsObject (const ObjectType *theObject) const
 
- Public Member Functions inherited from xalanc::ArenaAllocator< ObjectType, ReusableArenaBlock< ObjectType > >
 ArenaAllocator (MemoryManager &theManager, size_type theBlockSize)
 
virtual ~ArenaAllocator ()
 
MemoryManager & getMemoryManager ()
 
const MemoryManager & getMemoryManager () const
 
size_type getBlockSize () const
 
void setBlockSize (size_type theSize)
 
size_type getBlockCount () const
 
virtual void reset ()
 

Protected Member Functions

void destroyBlock ()
 

Protected Attributes

const bool m_destroyBlocks
 
- Protected Attributes inherited from xalanc::ArenaAllocator< ObjectType, ReusableArenaBlock< ObjectType > >
size_type m_blockSize
 
ArenaBlockListType m_blocks
 

Detailed Description

template<class ObjectType>
class xalanc::ReusableArenaAllocator< ObjectType >

Definition at line 38 of file ReusableArenaAllocator.hpp.

Member Typedef Documentation

◆ ArenaBlockListType

template<class ObjectType >
typedef XalanList<ReusableArenaBlockType*> xalanc::ReusableArenaAllocator< ObjectType >::ArenaBlockListType

Definition at line 52 of file ReusableArenaAllocator.hpp.

◆ BaseClassType

template<class ObjectType >
typedef ArenaAllocator<ObjectType, ReusableArenaBlockType> xalanc::ReusableArenaAllocator< ObjectType >::BaseClassType

Definition at line 48 of file ReusableArenaAllocator.hpp.

◆ const_iterator

template<class ObjectType >
typedef ArenaBlockListType::const_iterator xalanc::ReusableArenaAllocator< ObjectType >::const_iterator

Definition at line 55 of file ReusableArenaAllocator.hpp.

◆ const_reverse_iterator

Definition at line 57 of file ReusableArenaAllocator.hpp.

◆ iterator

template<class ObjectType >
typedef ArenaBlockListType::iterator xalanc::ReusableArenaAllocator< ObjectType >::iterator

Definition at line 54 of file ReusableArenaAllocator.hpp.

◆ ReusableArenaBlockType

template<class ObjectType >
typedef ReusableArenaBlock<ObjectType> xalanc::ReusableArenaAllocator< ObjectType >::ReusableArenaBlockType

Definition at line 43 of file ReusableArenaAllocator.hpp.

◆ reverse_iterator

template<class ObjectType >
typedef ArenaBlockListType::reverse_iterator xalanc::ReusableArenaAllocator< ObjectType >::reverse_iterator

Definition at line 56 of file ReusableArenaAllocator.hpp.

◆ size_type

template<class ObjectType >
typedef ReusableArenaBlockType::size_type xalanc::ReusableArenaAllocator< ObjectType >::size_type

Definition at line 45 of file ReusableArenaAllocator.hpp.

◆ ThisType

template<class ObjectType >
typedef ReusableArenaAllocator<ObjectType> xalanc::ReusableArenaAllocator< ObjectType >::ThisType

Definition at line 50 of file ReusableArenaAllocator.hpp.

Constructor & Destructor Documentation

◆ ReusableArenaAllocator()

template<class ObjectType >
xalanc::ReusableArenaAllocator< ObjectType >::ReusableArenaAllocator ( MemoryManager &  theManager,
size_type  theBlockSize,
bool  destroyBlocks = false 
)
inline

Definition at line 65 of file ReusableArenaAllocator.hpp.

◆ ~ReusableArenaAllocator()

template<class ObjectType >
virtual xalanc::ReusableArenaAllocator< ObjectType >::~ReusableArenaAllocator ( )
inlinevirtual

Definition at line 75 of file ReusableArenaAllocator.hpp.

Member Function Documentation

◆ allocateBlock()

template<class ObjectType >
virtual ObjectType* xalanc::ReusableArenaAllocator< ObjectType >::allocateBlock ( )
inlinevirtual

◆ commitAllocation()

template<class ObjectType >
virtual void xalanc::ReusableArenaAllocator< ObjectType >::commitAllocation ( ObjectType *  theObject)
inlinevirtual

◆ destroyBlock()

template<class ObjectType >
void xalanc::ReusableArenaAllocator< ObjectType >::destroyBlock ( )
inlineprotected

Definition at line 292 of file ReusableArenaAllocator.hpp.

◆ destroyObject()

template<class ObjectType >
bool xalanc::ReusableArenaAllocator< ObjectType >::destroyObject ( ObjectType *  theObject)
inline

Definition at line 86 of file ReusableArenaAllocator.hpp.

◆ ownsObject()

template<class ObjectType >
virtual bool xalanc::ReusableArenaAllocator< ObjectType >::ownsObject ( const ObjectType *  theObject) const
inlinevirtual

Member Data Documentation

◆ m_destroyBlocks

template<class ObjectType >
const bool xalanc::ReusableArenaAllocator< ObjectType >::m_destroyBlocks
protected

Definition at line 314 of file ReusableArenaAllocator.hpp.


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