Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Public Types | Public Member Functions

XalanDOMStringHashTable Class Reference

#include <XalanDOMStringHashTable.hpp>

Collaboration diagram for XalanDOMStringHashTable:
Collaboration graph
[legend]

List of all members.

Public Types

Public Member Functions


Detailed Description

Definition at line 40 of file XalanDOMStringHashTable.hpp.


Member Typedef Documentation

Definition at line 45 of file XalanDOMStringHashTable.hpp.

Definition at line 46 of file XalanDOMStringHashTable.hpp.

Definition at line 44 of file XalanDOMStringHashTable.hpp.

Definition at line 48 of file XalanDOMStringHashTable.hpp.

Definition at line 47 of file XalanDOMStringHashTable.hpp.


Member Enumeration Documentation

anonymous enum
Enumerator:
eDefaultBucketCount 
eDefaultBucketSize 

Definition at line 50 of file XalanDOMStringHashTable.hpp.


Constructor & Destructor Documentation

XalanDOMStringHashTable::XalanDOMStringHashTable ( MemoryManager &  theManager,
size_t  theBucketCount = eDefaultBucketCount,
bucket_size_type  theBucketSize = eDefaultBucketSize 
) [explicit]

Create a hash table.

Parameters:
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.
XalanDOMStringHashTable::~XalanDOMStringHashTable (  )  [inline]

Definition at line 65 of file XalanDOMStringHashTable.hpp.


Member Function Documentation

size_t XalanDOMStringHashTable::bucketCount (  )  const [inline]

Get the number of buckets in the table.

Returns:
The number of buckets in the table

Definition at line 90 of file XalanDOMStringHashTable.hpp.

void XalanDOMStringHashTable::clear (  ) 

Clear the hash table.

size_t XalanDOMStringHashTable::collisions (  )  const [inline]

Get the collision count.

Release builds will always return 0.

Returns:
The number of collisions. Valid only for non-release builds.

Definition at line 110 of file XalanDOMStringHashTable.hpp.

const XalanDOMString* XalanDOMStringHashTable::find ( const XalanDOMString theString,
size_t *  theBucketIndex = 0 
) const

Find a string.

If the string is not found, return null.

Parameters:
theString The string to find.
theBucketIndex The index of the bucket for the string.
Returns:
a pointer to the string, or null if not found.
const XalanDOMString* XalanDOMStringHashTable::find ( const XalanDOMChar *  theString,
XalanDOMString::size_type  theLength = XalanDOMString::npos,
size_t *  theBucketIndex = 0 
) const

Find a string.

If the string is not found, return null. If theBucketIndex is not null, the variable pointed to will be updated with the bucket index that was calculated for the string. This index can be used in a later call to insert() to avoid recalculating the index.

Parameters:
theString The string to find.
theLength The number of characters in the string.
theBucketIndex A pointer to a parameter to get the bucket index
Returns:
a pointer to the string, or null if not found.
void XalanDOMStringHashTable::getBucketCounts ( BucketCountsType theVector  )  const

Get the size of each of the buckets in the table.

Parameters:
A vector to return the bucket counts.
MemoryManager& XalanDOMStringHashTable::getMemoryManager (  )  [inline]

Definition at line 181 of file XalanDOMStringHashTable.hpp.

const MemoryManager& XalanDOMStringHashTable::getMemoryManager (  )  const [inline]

Definition at line 187 of file XalanDOMStringHashTable.hpp.

void XalanDOMStringHashTable::insert ( const XalanDOMString theString  ) 

Insert a pointer to a string into the table.

If the string is already present, the string will still be added, but it will never be found, since it will be placed after the identical string.

Note that this class only stores a _pointer_ to a XalanDOMString. It's expected that the string will be allocated and managed outside of the hash table.

Parameters:
theString The string to insert.
void XalanDOMStringHashTable::insert ( const XalanDOMString theString,
size_t  theBucketIndex 
)

Insert a pointer to a string into the table.

If the string is already present, the string will still be added, but it will never be found, since it will be placed after the identical string. theBucketIndex _must_ be the index returned from a previous call to find. If not, then the behavior is undefined. This is meant as an optimization to avoid re-hashing the string.

Note that this class only stores a _pointer_ to a XalanDOMString. It's expected that the string will be allocated and managed outside of the hash table.

Parameters:
theString The string to insert.
theBucketIndex The index of the bucket for the string.
size_t XalanDOMStringHashTable::size (  )  const [inline]

Get the number of strings in the table.

Returns:
The number of strings in the table

Definition at line 79 of file XalanDOMStringHashTable.hpp.


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.

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

Apache Logo