Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Public Types | Public Member Functions | Static Public Member Functions | List of all members
XalanDOMStringPool Class Reference
Inheritance diagram for XalanDOMStringPool:
XercesLiaisonXalanDOMStringPool

Public Types

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

Public Member Functions

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

Static Public Member Functions

static XalanDOMStringPoolcreate (MemoryManagerType &theManager, block_size_type theBlockSize=eDefaultBlockSize, bucket_count_type theBucketCount=eDefaultBucketCount, bucket_size_type theBucketSize=eDefaultBucketSize)

Member Typedef Documentation

Member Enumeration Documentation

anonymous enum
Enumerator:
eDefaultBlockSize 
eDefaultBucketCount 
eDefaultBucketSize 

Constructor & Destructor Documentation

XalanDOMStringPool::XalanDOMStringPool ( MemoryManagerType theManager,
block_size_type  theBlockSize = eDefaultBlockSize,
bucket_count_type  theBucketCount = eDefaultBucketCount,
bucket_size_type  theBucketSize = eDefaultBucketSize 
)
explicit

Create a string pool.

Parameters
theBlockSizeThe block size for the allocator.
theBucketCountThe number of buckets to use for the hash table. This should be a prime number for best results.
theBucketSizeThe initial size of each bucket in the hash table.
virtual XalanDOMStringPool::~XalanDOMStringPool ( )
virtual

Member Function Documentation

virtual void XalanDOMStringPool::clear ( )
virtual

Clear the pool.

Reimplemented in XercesLiaisonXalanDOMStringPool.

static XalanDOMStringPool* XalanDOMStringPool::create ( MemoryManagerType theManager,
block_size_type  theBlockSize = eDefaultBlockSize,
bucket_count_type  theBucketCount = eDefaultBucketCount,
bucket_size_type  theBucketSize = eDefaultBucketSize 
)
static
virtual const XalanDOMString& XalanDOMStringPool::get ( const XalanDOMString theString)
virtual

Get a pooled string.

If the string is not pooled, it is added.

Parameters
theStringThe string to pool.
Returns
a const reference to the pooled string.

Reimplemented in XercesLiaisonXalanDOMStringPool.

virtual 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
theStringThe string to pool.
theLengthThe 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 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.
MemoryManagerType& XalanDOMStringPool::getMemoryManager ( )
const MemoryManagerType& XalanDOMStringPool::getMemoryManager ( ) const
virtual 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:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo