## Xalan-C++ API Documentation

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

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

# ArenaBlock Template Class Reference

`#include <ArenaBlock.hpp>`

Inheritance diagram for ArenaBlock

Collaboration diagram for ArenaBlock:

List of all members.

## Public Types

- typedef std::allocator<ObjectType> AllocatorType
- typedef ArenaBlockDestroy<
  ObjectType> DestroyFunctionType
- typedef AllocatorType::size_type size_type

## Public Methods

- ArenaBlock (size_type theBlockSize)
- virtual ~ArenaBlock ()
- virtual ObjectType* allocateBlock ()
- virtual void commitAllocation (ObjectType* theBlock)
- virtual bool blockAvailable () const
- virtual size_type getCountAllocated () const
- size_type getBlockSize () const
- virtual bool ownsObject (const ObjectType* theObject) const
- bool ownsBlock (const ObjectType* theObject) const
- void destroyAll ()

## Protected Methods

- virtual bool shouldDestroyBlock (const ObjectType* ) const
- size_type getBlockOffset (const ObjectType* theObject) const
- ObjectType* getBlockAddress (size_type theOffset) const

## Protected Attributes

- const DestroyFunctionType m_destroyFunction

## Friends

- struct DeleteFunctor

## Member Typedef Documentation

template<classObjectType>
typedef std::allocator<ObjectType> ArenaBlock<ObjectType>::AllocatorType

template<classObjectType>
typedef ArenaBlockDestroy<ObjectType> ArenaBlock<ObjectType>::DestroyFunctionType

template<classObjectType>
typedef AllocatorType::size_type ArenaBlock<ObjectType>::size_type

Reimplemented in ReusableArenaBlock.

## Constructor & Destructor Documentation

template<classObjectType>
ArenaBlock<ObjectType>::ArenaBlock<ObjectType> ( | size_type theBlockSize )

template<classObjectType>
ArenaBlock<ObjectType>::~ArenaBlock<ObjectType> ( | )`[virtual]`

## Member Function Documentation

template<classObjectType>
ObjectType * ArenaBlock<ObjectType>::allocateBlock ( | )`[virtual]`

Reimplemented in ReusableArenaBlock.

template<classObjectType>
bool ArenaBlock<ObjectType>::blockAvailable ( | ) const`[virtual]`

Reimplemented in ReusableArenaBlock.

template<classObjectType>
void ArenaBlock<ObjectType>::commitAllocation ( | ObjectType * theBlock )`[virtual]`

Reimplemented in ReusableArenaBlock.

template<classObjectType>
void ArenaBlock<ObjectType>::destroyAll ( | )`[]`

template<classObjectType>
ObjectType * ArenaBlock<ObjectType>::getBlockAddress ( | size_type theOffset ) const`[protected]`

template<classObjectType>
size_type ArenaBlock<ObjectType>::getBlockOffset ( | const ObjectType * theObject ) const`[protected]`

template<classObjectType>
size_type ArenaBlock<ObjectType>::getBlockSize ( | ) const`[]`

template<classObjectType>
size_type ArenaBlock<ObjectType>::getCountAllocated ( | ) const`[virtual]`

Reimplemented in ReusableArenaBlock.

template<classObjectType>
bool ArenaBlock<ObjectType>::ownsBlock ( | const ObjectType * theObject ) const`[]`

template<classObjectType>
bool ArenaBlock<ObjectType>::ownsObject ( | const ObjectType * theObject ) const`[virtual]`

Reimplemented in ReusableArenaBlock.

template<classObjectType>
bool ArenaBlock<ObjectType>::shouldDestroyBlock ( | const ObjectType * theObject ) const`[protected, virtual]`

Reimplemented in ReusableArenaBlock.

## Friends And Related Function Documentation

template<classObjectType>
struct DeleteFunctor`[friend]`

## Member Data Documentation

template<classObjectType>
const DestroyFunctionType ArenaBlock<ObjectType>::m_destroyFunction`[protected]`

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

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