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

#include <xalanc/PlatformSupport/ArenaBlockBase.hpp>

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

Public Types

typedef ArenaBlockBase< ObjectType, SizeType > ThisType
 
typedef XalanAllocator< ObjectType > AllocatorType
 
typedef SizeType size_type
 

Public Member Functions

MemoryManager & getMemoryManager ()
 
bool blockAvailable () const
 
bool isEmpty () const
 
size_type getCountAllocated () const
 
size_type getBlockSize () const
 
bool ownsBlock (const ObjectType *theObject) const
 

Protected Member Functions

 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
 

Protected Attributes

AllocatorType m_allocator
 
size_type m_objectCount
 
const size_type m_blockSize
 
ObjectType * m_objectBlock
 

Detailed Description

template<class ObjectType, class SizeType = size_t>
class xalanc::ArenaBlockBase< ObjectType, SizeType >

Definition at line 107 of file ArenaBlockBase.hpp.

Member Typedef Documentation

◆ AllocatorType

template<class ObjectType , class SizeType = size_t>
typedef XalanAllocator<ObjectType> xalanc::ArenaBlockBase< ObjectType, SizeType >::AllocatorType

Definition at line 116 of file ArenaBlockBase.hpp.

◆ size_type

template<class ObjectType , class SizeType = size_t>
typedef SizeType xalanc::ArenaBlockBase< ObjectType, SizeType >::size_type

Definition at line 119 of file ArenaBlockBase.hpp.

◆ ThisType

template<class ObjectType , class SizeType = size_t>
typedef ArenaBlockBase<ObjectType, SizeType> xalanc::ArenaBlockBase< ObjectType, SizeType >::ThisType

Definition at line 111 of file ArenaBlockBase.hpp.

Constructor & Destructor Documentation

◆ ArenaBlockBase()

template<class ObjectType , class SizeType = size_t>
xalanc::ArenaBlockBase< ObjectType, SizeType >::ArenaBlockBase ( MemoryManager &  theManager,
size_type  theBlockSize 
)
inlineprotected

Definition at line 189 of file ArenaBlockBase.hpp.

◆ ~ArenaBlockBase()

template<class ObjectType , class SizeType = size_t>
xalanc::ArenaBlockBase< ObjectType, SizeType >::~ArenaBlockBase ( )
inlineprotected

Definition at line 202 of file ArenaBlockBase.hpp.

Member Function Documentation

◆ blockAvailable()

template<class ObjectType , class SizeType = size_t>
bool xalanc::ArenaBlockBase< ObjectType, SizeType >::blockAvailable ( ) const
inline

Definition at line 133 of file ArenaBlockBase.hpp.

◆ getBlockAddress()

template<class ObjectType , class SizeType = size_t>
ObjectType* xalanc::ArenaBlockBase< ObjectType, SizeType >::getBlockAddress ( size_type  theOffset) const
inlineprotected

Definition at line 267 of file ArenaBlockBase.hpp.

◆ getBlockOffset()

template<class ObjectType , class SizeType = size_t>
size_type xalanc::ArenaBlockBase< ObjectType, SizeType >::getBlockOffset ( const ObjectType *  theObject) const
inlineprotected

Definition at line 250 of file ArenaBlockBase.hpp.

◆ getBlockSize()

template<class ObjectType , class SizeType = size_t>
size_type xalanc::ArenaBlockBase< ObjectType, SizeType >::getBlockSize ( ) const
inline

Definition at line 168 of file ArenaBlockBase.hpp.

◆ getCountAllocated()

template<class ObjectType , class SizeType = size_t>
size_type xalanc::ArenaBlockBase< ObjectType, SizeType >::getCountAllocated ( ) const
inline

Definition at line 156 of file ArenaBlockBase.hpp.

◆ getMemoryManager()

template<class ObjectType , class SizeType = size_t>
MemoryManager& xalanc::ArenaBlockBase< ObjectType, SizeType >::getMemoryManager ( )
inline

Definition at line 122 of file ArenaBlockBase.hpp.

◆ isEmpty()

template<class ObjectType , class SizeType = size_t>
bool xalanc::ArenaBlockBase< ObjectType, SizeType >::isEmpty ( ) const
inline

Definition at line 144 of file ArenaBlockBase.hpp.

◆ isInBorders()

template<class ObjectType , class SizeType = size_t>
bool xalanc::ArenaBlockBase< ObjectType, SizeType >::isInBorders ( const ObjectType *  theObject,
size_type  rightBoundary 
) const
inlineprotected

Definition at line 217 of file ArenaBlockBase.hpp.

◆ ownsBlock()

template<class ObjectType , class SizeType = size_t>
bool xalanc::ArenaBlockBase< ObjectType, SizeType >::ownsBlock ( const ObjectType *  theObject) const
inline

Definition at line 182 of file ArenaBlockBase.hpp.

Member Data Documentation

◆ m_allocator

template<class ObjectType , class SizeType = size_t>
AllocatorType xalanc::ArenaBlockBase< ObjectType, SizeType >::m_allocator
protected

Definition at line 275 of file ArenaBlockBase.hpp.

◆ m_blockSize

template<class ObjectType , class SizeType = size_t>
const size_type xalanc::ArenaBlockBase< ObjectType, SizeType >::m_blockSize
protected

Definition at line 279 of file ArenaBlockBase.hpp.

◆ m_objectBlock

template<class ObjectType , class SizeType = size_t>
ObjectType* xalanc::ArenaBlockBase< ObjectType, SizeType >::m_objectBlock
protected

Definition at line 281 of file ArenaBlockBase.hpp.

◆ m_objectCount

template<class ObjectType , class SizeType = size_t>
size_type xalanc::ArenaBlockBase< ObjectType, SizeType >::m_objectCount
protected

Definition at line 277 of file ArenaBlockBase.hpp.


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