## Xalan-C++ API Documentation

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

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]
List of all members.

## Public Types

- typedef ArenaBlockType::size_type size_type

## Public Methods

- ArenaAllocator (size_type theBlockSize)
- virtual ~ArenaAllocator ()
- 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 Types

- typedef std::vector<ArenaBlockType*> ArenaBlockListType

## 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 std::vector< ArenaBlockType *> ArenaAllocator<ObjectType, ArenaBlockType>::ArenaBlockListType<ArenaBlockType*>`[protected]`

| 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> ( | 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>>
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]`

| Reimplemented in ReusableArenaAllocator.

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.5 Copyright © 2000, 2001, 2002, 2003 The Apache Software Foundation. All Rights Reserved.