## Xalan-C++ API Documentation

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

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# ArenaAllocator Class Template Reference

`#include <ArenaAllocator.hpp>`

Inheritance diagram for ArenaAllocator:

[legend]
Collaboration diagram for ArenaAllocator:

[legend]
List of all members.

## Public Types

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

## Public Methods

- 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

## Member Typedef Documentation

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

| Reimplemented in ReusableArenaAllocator.

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

| Reimplemented in ReusableArenaAllocator.

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

| Reimplemented in ReusableArenaAllocator.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

| Reimplemented in ReusableArenaAllocator.

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

| Reimplemented in ReusableArenaAllocator.

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>>
bool ArenaAllocator<ObjectType, ArenaBlockType>::ownsObject ( | const ObjectType * theObject ) const`[virtual]`

| Reimplemented in ReusableArenaAllocator.

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
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>>
size_type ArenaAllocator<ObjectType, ArenaBlockType>::m_blockSize`[protected]`

template<class ObjectType, class ArenaBlockType = ArenaBlock<ObjectType>>
ArenaBlockListType ArenaAllocator<ObjectType, ArenaBlockType>::m_blocks`[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.10 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.