## 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

# ArenaBlock Class Template Reference

`#include <ArenaBlock.hpp>`

Inheritance diagram for ArenaBlock:

[legend]
Collaboration diagram for ArenaBlock:

[legend]
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

### template<class ObjectType> class ArenaBlock

## Member Typedef Documentation

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

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

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

| Reimplemented in ReusableArenaBlock.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

| Reimplemented in ReusableArenaBlock.

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

| Reimplemented in ReusableArenaBlock.

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

| Reimplemented in ReusableArenaBlock.

template<class ObjectType>
void ArenaBlock<ObjectType>::destroyAll ( | )

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

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

template<class ObjectType>
size_type ArenaBlock<ObjectType>::getBlockSize ( | ) const

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

| Reimplemented in ReusableArenaBlock.

template<class ObjectType>
bool ArenaBlock<ObjectType>::ownsBlock ( | const ObjectType * theObject ) const

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

| Reimplemented in ReusableArenaBlock.

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

| Reimplemented in ReusableArenaBlock.

## Friends And Related Function Documentation

template<class ObjectType>
struct DeleteFunctor`[friend]`

## Member Data Documentation

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