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

#include <xalanc/PlatformSupport/ArenaAllocator.hpp>

Inheritance diagram for xalanc::ArenaAllocator< ObjectType, ArenaBlockType >:
[legend]
Collaboration diagram for xalanc::ArenaAllocator< ObjectType, ArenaBlockType >:
[legend]

Public Types

typedef ArenaAllocator< ObjectType, ArenaBlockType > ThisType
 
typedef XalanList< ArenaBlockType * > ArenaBlockListType
 
typedef ArenaBlockType::size_type size_type
 

Public Member Functions

 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 ObjectType * allocateBlock ()
 
virtual void commitAllocation (ObjectType *theObject)
 
virtual bool ownsObject (const ObjectType *theObject) const
 
virtual void reset ()
 

Protected Attributes

size_type m_blockSize
 
ArenaBlockListType m_blocks
 

Detailed Description

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
class xalanc::ArenaAllocator< ObjectType, ArenaBlockType >

Definition at line 47 of file ArenaAllocator.hpp.

Member Typedef Documentation

◆ ArenaBlockListType

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
typedef XalanList<ArenaBlockType*> xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::ArenaBlockListType

Definition at line 53 of file ArenaAllocator.hpp.

◆ size_type

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
typedef ArenaBlockType::size_type xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::size_type

Definition at line 55 of file ArenaAllocator.hpp.

◆ ThisType

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
typedef ArenaAllocator<ObjectType, ArenaBlockType> xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::ThisType

Definition at line 51 of file ArenaAllocator.hpp.

Constructor & Destructor Documentation

◆ ArenaAllocator()

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

Definition at line 62 of file ArenaAllocator.hpp.

◆ ~ArenaAllocator()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
virtual xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::~ArenaAllocator ( )
inlinevirtual

Definition at line 71 of file ArenaAllocator.hpp.

Member Function Documentation

◆ allocateBlock()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
virtual ObjectType* xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::allocateBlock ( )
inlinevirtual

◆ commitAllocation()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
virtual void xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::commitAllocation ( ObjectType *  theObject)
inlinevirtual

◆ getBlockCount()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
size_type xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::getBlockCount ( ) const
inline

Definition at line 119 of file ArenaAllocator.hpp.

◆ getBlockSize()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
size_type xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::getBlockSize ( ) const
inline

Definition at line 95 of file ArenaAllocator.hpp.

◆ getMemoryManager() [1/2]

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
MemoryManager& xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::getMemoryManager ( )
inline

Definition at line 77 of file ArenaAllocator.hpp.

◆ getMemoryManager() [2/2]

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
const MemoryManager& xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::getMemoryManager ( ) const
inline

Definition at line 83 of file ArenaAllocator.hpp.

◆ ownsObject()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
virtual bool xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::ownsObject ( const ObjectType *  theObject) const
inlinevirtual

◆ reset()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
virtual void xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::reset ( )
inlinevirtual

Definition at line 200 of file ArenaAllocator.hpp.

◆ setBlockSize()

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
void xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::setBlockSize ( size_type  theSize)
inline

Definition at line 108 of file ArenaAllocator.hpp.

Member Data Documentation

◆ m_blocks

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
ArenaBlockListType xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::m_blocks
protected

Definition at line 215 of file ArenaAllocator.hpp.

◆ m_blockSize

template<class ObjectType , class ArenaBlockType = ArenaBlock<ObjectType>>
size_type xalanc::ArenaAllocator< ObjectType, ArenaBlockType >::m_blockSize
protected

Definition at line 213 of file ArenaAllocator.hpp.


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