Xalan-C++ API Reference 1.12.0
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

Reimplemented in xalanc::ReusableArenaAllocator< ObjectType >.

Definition at line 157 of file ArenaAllocator.hpp.

◆ 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

◆ 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

Reimplemented in xalanc::ReusableArenaAllocator< ObjectType >.

Definition at line 169 of file ArenaAllocator.hpp.

◆ 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

◆ m_blockSize

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

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