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

# XalanDOMStringPool Class Reference

`#include <XalanDOMStringPool.hpp>`

Inheritance diagram for XalanDOMStringPool

Collaboration diagram for XalanDOMStringPool:

List of all members.

## Public Types

- typedef XalanDOMStringAllocator AllocatorType
- typedef AllocatorType::size_type block_size_type
- typedef size_t bucket_count_type
- typedef XalanDOMStringHashTable::bucket_size_type bucket_size_type
- enum {
  eDefaultBlockSize = 32,
  eDefaultBucketCount = XalanDOMStringHashTable::eDefaultBucketCount,
  eDefaultBucketSize = XalanDOMStringHashTable::eDefaultBucketSize
  }

## Public Methods

- XalanDOMStringPool ( block_size_type theBlockSize = eDefaultBlockSize, bucket_count_type theBucketCount = eDefaultBucketCount, bucket_size_type theBucketSize = eDefaultBucketSize)
    Create a string pool. More...
- virtual ~XalanDOMStringPool ()
- virtual void clear ()
    Clear the pool.
- virtual size_t size () const
    Get the number of strings in the pool. More...
- virtual const XalanDOMString& get (const XalanDOMString& theString)
    Get a pooled string. More...
- virtual const XalanDOMString& get ( const XalanDOMChar* theString, XalanDOMString::size_type theLength = XalanDOMString::npos)
    Get a pooled string. More...
- const XalanDOMStringHashTable& getHashTable () const
    Get a reference to the pool's hash table. More...

## Member Typedef Documentation

typedef XalanDOMStringAllocator XalanDOMStringPool::AllocatorType

typedef AllocatorType::size_type XalanDOMStringPool::block_size_type

typedef size_t XalanDOMStringPool::bucket_count_type

typedef XalanDOMStringHashTable::bucket_size_type XalanDOMStringPool::bucket_size_type

## Member Enumeration Documentation

anonymous enum

Enumeration values:

  eDefaultBlockSize |
  eDefaultBucketCount |
  eDefaultBucketSize |

## Constructor & Destructor Documentation

XalanDOMStringPool::XalanDOMStringPool ( | block_size_type theBlockSize = eDefaultBlockSize,
| bucket_count_type theBucketCount = eDefaultBucketCount,
| bucket_size_type theBucketSize = eDefaultBucketSize )`[explicit]`

Create a string pool.

Parameters:

  theBlockSize | The block size for the allocator.
  theBucketCount | The number of buckets to use for the hash table. This should be a prime number for best results.
  theBucketSize | The initial size of each bucket in the hash table.

virtual XalanDOMStringPool::~XalanDOMStringPool ( | )`[virtual]`

## Member Function Documentation

void XalanDOMStringPool::clear ( | )`[virtual]`

Clear the pool.

Reimplemented in XercesLiaisonXalanDOMStringPool.

const XalanDOMString & XalanDOMStringPool::get ( | const XalanDOMChar * theString,
| XalanDOMString::size_type theLength = XalanDOMString::npos )`[virtual]`

Get a pooled string.

If the string is not pooled, it is added.

Parameters:

  theString | The string to pool.
  theLength | The length of the string. If XalanDOMString::npos, the string is assumed to be null-terminated.

Returns:
  a const reference to the pooled string.

Reimplemented in XercesLiaisonXalanDOMStringPool.

const XalanDOMString & XalanDOMStringPool::get ( | const XalanDOMString & theString )`[virtual]`

Get a pooled string.

If the string is not pooled, it is added.

Parameters:

  theString | The string to pool.

Returns:
  a const reference to the pooled string.

Reimplemented in XercesLiaisonXalanDOMStringPool.

const XalanDOMStringHashTable & XalanDOMStringPool::getHashTable ( | ) const`[]`

Get a reference to the pool's hash table.

Useful for diagnostic purposes.

Returns:
  a const reference to the hash table.

size_t XalanDOMStringPool::size ( | ) const`[virtual]`

Get the number of strings in the pool.

Returns:
  the size of the pool.

Reimplemented in XercesLiaisonXalanDOMStringPool.

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

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