## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# ArenaAllocator< ObjectType, ArenaBlockType > Class Template Reference

Collaboration diagram for ArenaAllocator< ObjectType, ArenaBlockType >:

[legend]
List of all members.

## Public Types

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

## Public Member Functions

- ArenaAllocator (MemoryManagerType &theManager, size_type theBlockSize)
- virtual ~ArenaAllocator ()
- MemoryManagerType & getMemoryManager ()
- const MemoryManagerType & 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

### template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
class ArenaAllocator< ObjectType, ArenaBlockType >

## Member Typedef Documentation

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

| Reimplemented in ReusableArenaAllocator< ObjectType >.

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

| Reimplemented in ReusableArenaAllocator< ObjectType >.

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

| Reimplemented in ReusableArenaAllocator< ObjectType >.

## Constructor & Destructor Documentation

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
ArenaAllocator< ObjectType, ArenaBlockType >::ArenaAllocator | ( | MemoryManagerType & | theManager,
|  | size_type | theBlockSize
| ) |

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
virtual ArenaAllocator< ObjectType, ArenaBlockType >::~ArenaAllocator | ( |  | ) | `[virtual]`

## Member Function Documentation

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
virtual ObjectType* ArenaAllocator< ObjectType, ArenaBlockType >::allocateBlock | ( |  | ) | `[virtual]`

| Reimplemented in ReusableArenaAllocator< ObjectType >.

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
virtual void ArenaAllocator< ObjectType, ArenaBlockType >::commitAllocation | ( | ObjectType * | theObject | ) | `[virtual]`

| Reimplemented in ReusableArenaAllocator< ObjectType >.

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

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

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
const MemoryManagerType& ArenaAllocator< ObjectType, ArenaBlockType >::getMemoryManager | ( |  | ) | const

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
MemoryManagerType& ArenaAllocator< ObjectType, ArenaBlockType >::getMemoryManager | ( |  | ) |

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
virtual bool ArenaAllocator< ObjectType, ArenaBlockType >::ownsObject | ( | const ObjectType * | theObject | ) | const`[virtual]`

| Reimplemented in ReusableArenaAllocator< ObjectType >.

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
virtual void ArenaAllocator< ObjectType, ArenaBlockType >::reset | ( |  | ) | `[virtual]`

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

## Member Data Documentation

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
ArenaBlockListType ArenaAllocator< ObjectType, ArenaBlockType >::m_blocks`[protected]`

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
size_type ArenaAllocator< ObjectType, ArenaBlockType >::m_blockSize`[protected]`

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

- ArenaAllocator.hpp

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.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.