Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XalanMap Class Template Reference

Xalan implementation of a hashtable. More...

#include <XalanMap.hpp>

Collaboration diagram for XalanMap:

Collaboration graph
[legend]
List of all members.

Public Types

Public Methods

Protected Methods

Static Protected Methods

Protected Attributes


Detailed Description

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>> class XalanMap

Xalan implementation of a hashtable.


Member Typedef Documentation

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef BucketType::iterator XalanMap<Key, Value, KeyTraits>::BucketIterator
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef XalanVector< BucketType, ConstructWithMemoryManagerTraits< BucketType > > XalanMap<Key, Value, KeyTraits>::BucketTableType<BucketType, ConstructWithMemoryManagerTraits<BucketType> >
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef XalanVector< typename EntryListType::iterator > XalanMap<Key, Value, KeyTraits>::BucketType<typename EntryListType::iterator>
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef EntryListType::iterator XalanMap<Key, Value, KeyTraits>::EntryListIterator
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef XalanList< Entry > XalanMap<Key, Value, KeyTraits>::EntryListType<Entry>
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef MemoryManagedConstructionTraits< key_type >::Constructor XalanMap<Key, Value, KeyTraits>::FirstConstructor<key_type>
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef MemoryManagedConstructionTraits< data_type >::Constructor XalanMap<Key, Value, KeyTraits>::SecondConstructor<data_type>
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef BucketTableType::iterator XalanMap<Key, Value, KeyTraits>::TableIterator
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef XalanMapIterator< XalanMapConstIteratorTraits< value_type >, typename EntryListType::iterator > XalanMap<Key, Value, KeyTraits>::const_iterator< XalanMapConstIteratorTraits<value_type>, typename EntryListType::iterator>
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef Value XalanMap<Key, Value, KeyTraits>::data_type
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef XalanMapIterator< XalanMapIteratorTraits< value_type >, typename EntryListType::iterator > XalanMap<Key, Value, KeyTraits>::iterator< XalanMapIteratorTraits<value_type>, typename EntryListType::iterator>
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef Key XalanMap<Key, Value, KeyTraits>::key_type
 

Each map entry is stored in a linked list where an entry consists of a pointer to the key/value pair and a flag to indicate whether the entry has been erased.

The hash buckets are a vector of pointers into the entry list. Deleted entries are spliced into another list and marked 'erased'.

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef size_t XalanMap<Key, Value, KeyTraits>::size_type
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
typedef XALAN_STD_QUALIFIER pair< const key_type, data_type > XalanMap<Key, Value, KeyTraits>::value_type<const key_type, data_type>
 


Member Enumeration Documentation

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
anonymous enum
 

Enumeration values:
eDefaultMinBuckets  
eDefaultEraseThreshold  
eMinimumBucketSize  


Constructor & Destructor Documentation

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
XalanMap<Key, Value, KeyTraits>::XalanMap<Key, Value, KeyTraits> ( MemoryManagerType & theMemoryManager,
float loadFactor = 0.75,
size_type minBuckets = eDefaultMinBuckets,
size_type eraseThreshold = eDefaultEraseThreshold )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
XalanMap<Key, Value, KeyTraits>::XalanMap<Key, Value, KeyTraits> ( const XalanMap<Key, Value, KeyTraits> & theRhs,
MemoryManagerType & theMemoryManager )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
XalanMap<Key, Value, KeyTraits>::~XalanMap<Key, Value, KeyTraits> ( )
 


Member Function Documentation

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
value_type * XalanMap<Key, Value, KeyTraits>::allocate ( size_type size ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
const_iterator XalanMap<Key, Value, KeyTraits>::begin ( ) const
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
iterator XalanMap<Key, Value, KeyTraits>::begin ( )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::calculateNewBucketCapacity ( size_type theCurrentSize,
size_type theExtraCapacity ) [static, protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::clear ( )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::compactBuckets ( ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::deallocate ( value_type * pointer ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
iterator XalanMap<Key, Value, KeyTraits>::doCreateEntry ( const key_type & key,
const data_type * data = 0 ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::doErase ( iterator pos ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::doHash ( const Key & key ) const [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::doHash ( const Key & key,
size_type modulus ) const [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::doRemoveEntries ( ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::doRemoveEntry ( const iterator & toRemovePos ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
bool XalanMap<Key, Value, KeyTraits>::empty ( ) const
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
const_iterator XalanMap<Key, Value, KeyTraits>::end ( ) const
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
iterator XalanMap<Key, Value, KeyTraits>::end ( )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::erase ( const key_type & key )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::erase ( iterator pos )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
const_iterator XalanMap<Key, Value, KeyTraits>::find ( const key_type & key ) const
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
iterator XalanMap<Key, Value, KeyTraits>::find ( const key_type & key )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
MemoryManagerType & XalanMap<Key, Value, KeyTraits>::getMemoryManager ( )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::insert ( const key_type & key,
const data_type & data )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::insert ( const value_type & value )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
XalanMap<Key, Value, KeyTraits> & XalanMap<Key, Value, KeyTraits>::operator= ( const XalanMap<Key, Value, KeyTraits> & theRhs )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
data_type & XalanMap<Key, Value, KeyTraits>::operator[] ( const key_type & key )
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::rehash ( ) [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::size ( ) const
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
void XalanMap<Key, Value, KeyTraits>::swap ( XalanMap<Key, Value, KeyTraits> & theRhs )
 


Member Data Documentation

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
BucketTableType XalanMap<Key, Value, KeyTraits>::m_buckets [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
EntryListType XalanMap<Key, Value, KeyTraits>::m_entries [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
KeyTraits::Comparator XalanMap<Key, Value, KeyTraits>::m_equals [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::m_eraseCount [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::m_eraseThreshold [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
EntryListType XalanMap<Key, Value, KeyTraits>::m_freeEntries [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
KeyTraits::Hasher XalanMap<Key, Value, KeyTraits>::m_hash [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
float XalanMap<Key, Value, KeyTraits>::m_loadFactor [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
MemoryManagerType * XalanMap<Key, Value, KeyTraits>::m_memoryManager [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
const size_type XalanMap<Key, Value, KeyTraits>::m_minBuckets [protected]
 

template<class Key, class Value, class KeyTraits = XalanMapKeyTraits<Key>>
size_type XalanMap<Key, Value, KeyTraits>::m_size [protected]
 


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