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

# XalanSourceTreeDocumentAllocator Class Reference

`#include <XalanSourceTreeDocumentAllocator.hpp>`

Collaboration diagram for XalanSourceTreeDocumentAllocator:

List of all members.

## Public Types

- typedef XalanSourceTreeDocument data_type
- typedef ReusableArenaAllocator<
  data_type> ArenaAllocatorType
- typedef ArenaAllocatorType::size_type size_type
- typedef XalanSourceTreeDocument::block_size_type block_size_type
- typedef XalanSourceTreeDocument::bucket_count_type bucket_count_type
- typedef XalanSourceTreeDocument::bucket_size_type bucket_size_type
- enum {
  eDefaultAttributeAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeAllocatorBlockSize,
  eDefaultAttributeNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeNSAllocatorBlockSize,
  eDefaultCommentAllocatorBlockSize = XalanSourceTreeDocument::eDefaultCommentAllocatorBlockSize,
  eDefaultElementAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementAllocatorBlockSize,
  eDefaultElementNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementNSAllocatorBlockSize,
  eDefaultPIAllocatorBlockSize = XalanSourceTreeDocument::eDefaultPIAllocatorBlockSize,
  eDefaultTextAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextAllocatorBlockSize,
  eDefaultTextIWSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextIWSAllocatorBlockSize,
  eDefaultNamesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBlockSize,
  eDefaultNamesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketCount,
  eDefaultNamesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketSize,
  eDefaultValuesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBlockSize,
  eDefaultValuesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketCount,
  eDefaultValuesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketSize
  }

## Public Methods

- XalanSourceTreeDocumentAllocator (size_type theBlockCount)
    Construct an instance that will allocate blocks of the specified size. More...
- ~XalanSourceTreeDocumentAllocator ()
- data_type* create ( bool fPoolAllText = true, block_size_type theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize, bucket_count_type theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount, bucket_size_type theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize, block_size_type theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize, bucket_count_type theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount, bucket_size_type theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize)
    Create a XalanSourceTreeDocument object. More...
- data_type* create ( size_type theAttributeBlockSize, size_type theAttributeNSBlockSize, size_type theCommentBlockSize, size_type theElementBlockSize, size_type theElementNSBlockSize, size_type thePIBlockSize, size_type theTextBlockSize, size_type theTextIWSBlockSize, bool fPoolAllText = true)
    Create a XalanSourceTreeDocument object. More...
- bool destroy (data_type* theObject)
    Delete a XalanSourceTreeDocument object from allocator.
- bool ownsObject (const data_type* theObject)
    Determine if an object is owned by the allocator...
- void reset ()
    Delete all XalanSourceTreeDocument objects from allocator.
- size_type getBlockCount () const
    Get the number of ArenaBlocks currently allocated. More...
- size_type getBlockSize () const
    Get size of an ArenaBlock, that is, the number of objects in each block. More...

## Member Typedef Documentation

typedef ReusableArenaAllocator<data_type> XalanSourceTreeDocumentAllocator::ArenaAllocatorType

typedef XalanSourceTreeDocument::block_size_type XalanSourceTreeDocumentAllocator::block_size_type

typedef XalanSourceTreeDocument::bucket_count_type XalanSourceTreeDocumentAllocator::bucket_count_type

typedef XalanSourceTreeDocument::bucket_size_type XalanSourceTreeDocumentAllocator::bucket_size_type

typedef XalanSourceTreeDocument XalanSourceTreeDocumentAllocator::data_type

typedef ArenaAllocatorType::size_type XalanSourceTreeDocumentAllocator::size_type

## Member Enumeration Documentation

anonymous enum

Enumeration values:

  eDefaultAttributeAllocatorBlockSize |
  eDefaultAttributeNSAllocatorBlockSize |
  eDefaultCommentAllocatorBlockSize |
  eDefaultElementAllocatorBlockSize |
  eDefaultElementNSAllocatorBlockSize |
  eDefaultPIAllocatorBlockSize |
  eDefaultTextAllocatorBlockSize |
  eDefaultTextIWSAllocatorBlockSize |
  eDefaultNamesStringPoolBlockSize |
  eDefaultNamesStringPoolBucketCount |
  eDefaultNamesStringPoolBucketSize |
  eDefaultValuesStringPoolBlockSize |
  eDefaultValuesStringPoolBucketCount |
  eDefaultValuesStringPoolBucketSize |

## Constructor & Destructor Documentation

XalanSourceTreeDocumentAllocator::XalanSourceTreeDocumentAllocator ( | size_type theBlockCount )

Construct an instance that will allocate blocks of the specified size.

Parameters:

  theBlockSize | The block size.

XalanSourceTreeDocumentAllocator::~XalanSourceTreeDocumentAllocator ( | )

## Member Function Documentation

data_type * XalanSourceTreeDocumentAllocator::create ( | size_type theAttributeBlockSize,
| size_type theAttributeNSBlockSize,
| size_type theCommentBlockSize,
| size_type theElementBlockSize,
| size_type theElementNSBlockSize,
| size_type thePIBlockSize,
| size_type theTextBlockSize,
| size_type theTextIWSBlockSize,
| bool fPoolAllText = true )

Create a XalanSourceTreeDocument object.

Parameters:

  fPoolAllText | If false, text node data that is not whitespace will not be pooled.
  theAttributeBlockSize | The block size for allocating attribute nodes
  theAttributeNSBlockSize | The block size for allocating attribute NS nodes
  theCommentBlockSize | The block size for allocating comment nodes
  theElementBlockSize | The block size for allocating element nodes
  theElementNSBlockSize | The block size for allocating element nodes
  theTextBlockSize | The block size for allocating text nodes,
  theTextIWSBlockSize | The block size for allocating text IWS nodes,

Returns:
  pointer to a node

data_type * XalanSourceTreeDocumentAllocator::create ( | bool fPoolAllText = true,
| block_size_type theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
| bucket_count_type theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
| bucket_size_type theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
| block_size_type theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
| bucket_count_type theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
| bucket_size_type theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize )

Create a XalanSourceTreeDocument object.

Parameters:

  fPoolAllText | If false, text node data that is not whitespace will not be pooled.
  theNamesStringPoolBlockSize | The block size for allocating strings in the name pool
  theNamesStringPoolBucketCount | The number of buckets for allocating strings in the name pool
  theNamesStringPoolBucketSize | The bucket size for allocating strings in the name pool
  theValuesStringPoolBlockSize | The block size for allocating strings in the values pool
  theValuesStringPoolBucketCount | The number of buckets for allocating strings in the values pool
  theValuesStringPoolBucketSize | The bucket size for allocating strings in the values pool

Returns:
  pointer to a node

bool XalanSourceTreeDocumentAllocator::destroy ( | data_type * theObject )

Delete a XalanSourceTreeDocument object from allocator.

size_type XalanSourceTreeDocumentAllocator::getBlockCount ( | ) const`[]`

Get the number of ArenaBlocks currently allocated.

Returns:
  The number of blocks.

size_type XalanSourceTreeDocumentAllocator::getBlockSize ( | ) const`[]`

Get size of an ArenaBlock, that is, the number of objects in each block.

Returns:
  The size of the block

bool XalanSourceTreeDocumentAllocator::ownsObject ( | const data_type * theObject )`[]`

Determine if an object is owned by the allocator...

void XalanSourceTreeDocumentAllocator::reset ( | )

Delete all XalanSourceTreeDocument objects from allocator.

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

- XalanSourceTreeDocumentAllocator.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.