Xalan-C++ API Reference
1.12.0
|
Xalan implementation of a hashtable. More...
#include <xalanc/Include/XalanMap.hpp>
Classes | |
struct | Entry |
Public Member Functions | |
XalanMap (MemoryManager &theMemoryManager, double loadFactor=0.75, size_type minBuckets=eDefaultMinBuckets, size_type eraseThreshold=eDefaultEraseThreshold) | |
XalanMap (const XalanMap &theRhs, MemoryManager &theMemoryManager) | |
MemoryManager & | getMemoryManager () |
~XalanMap () | |
XalanMap & | operator= (const XalanMap &theRhs) |
size_type | size () const |
bool | empty () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
iterator | find (const key_type &key) |
const_iterator | find (const key_type &key) const |
data_type & | operator[] (const key_type &key) |
void | insert (const value_type &value) |
void | insert (const key_type &key, const data_type &data) |
void | erase (iterator pos) |
size_type | erase (const key_type &key) |
void | clear () |
void | swap (XalanMap &theRhs) |
Protected Member Functions | |
iterator | doCreateEntry (const key_type &key, const data_type *data=0) |
void | doRemoveEntry (const iterator &toRemovePos) |
void | doRemoveEntries () |
void | doErase (iterator pos) |
size_type | doHash (const Key &key, size_type modulus) const |
size_type | doHash (const Key &key) const |
void | rehash () |
value_type * | allocate (size_type size) |
void | deallocate (value_type *pointer) |
void | compactBuckets () |
Static Protected Member Functions | |
static size_type | calculateNewBucketCapacity (size_type theCurrentSize, size_type theExtraCapacity) |
Protected Attributes | |
KeyTraits::Hasher | m_hash |
KeyTraits::Comparator | m_equals |
MemoryManager * | m_memoryManager |
double | m_loadFactor |
const size_type | m_minBuckets |
size_type | m_size |
EntryListType | m_entries |
EntryListType | m_freeEntries |
BucketTableType | m_buckets |
size_type | m_eraseCount |
size_type | m_eraseThreshold |
Xalan implementation of a hashtable.
Definition at line 186 of file XalanMap.hpp.
typedef BucketType::iterator xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::BucketIterator |
Definition at line 222 of file XalanMap.hpp.
typedef XalanVector<BucketType, ConstructWithMemoryManagerTraits<BucketType> > xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::BucketTableType |
Definition at line 218 of file XalanMap.hpp.
typedef XalanVector<typename EntryListType::iterator> xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::BucketType |
Definition at line 217 of file XalanMap.hpp.
typedef XalanMapIterator< XalanMapConstIteratorTraits<value_type>, typename EntryListType::iterator> xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::const_iterator |
Definition at line 229 of file XalanMap.hpp.
typedef Value xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::data_type |
Definition at line 198 of file XalanMap.hpp.
typedef EntryListType::iterator xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::EntryListIterator |
Definition at line 220 of file XalanMap.hpp.
typedef XalanList<Entry> xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::EntryListType |
Definition at line 215 of file XalanMap.hpp.
typedef KeyConstructionTraits::Constructor xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::FirstConstructor |
Definition at line 231 of file XalanMap.hpp.
typedef XalanMapIterator< XalanMapIteratorTraits<value_type>, typename EntryListType::iterator> xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::iterator |
Definition at line 226 of file XalanMap.hpp.
typedef Key xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::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'.
Definition at line 197 of file XalanMap.hpp.
typedef ValueConstructionTraits::Constructor xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::SecondConstructor |
Definition at line 232 of file XalanMap.hpp.
typedef size_t xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::size_type |
Definition at line 199 of file XalanMap.hpp.
typedef BucketTableType::iterator xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::TableIterator |
Definition at line 221 of file XalanMap.hpp.
typedef std::pair<const key_type, data_type> xalanc::XalanMap< Key, Value, KeyTraits, KeyConstructionTraits, ValueConstructionTraits >::value_type |
Definition at line 201 of file XalanMap.hpp.
anonymous enum |
Enumerator | |
---|---|
eDefaultMinBuckets | |
eDefaultEraseThreshold | |
eMinimumBucketSize |
Definition at line 234 of file XalanMap.hpp.
|
inline |
Definition at line 242 of file XalanMap.hpp.
|
inline |
Definition at line 259 of file XalanMap.hpp.
|
inline |
Definition at line 294 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 622 of file XalanMap.hpp.
|
inline |
Definition at line 330 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::XalanMap().
|
inline |
Definition at line 335 of file XalanMap.hpp.
|
inlinestaticprotected |
Definition at line 644 of file XalanMap.hpp.
|
inline |
Definition at line 432 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 661 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 636 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 475 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 559 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 585 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 576 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 550 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 531 of file XalanMap.hpp.
|
inline |
Definition at line 325 of file XalanMap.hpp.
|
inline |
Definition at line 340 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::XalanMap().
|
inline |
Definition at line 345 of file XalanMap.hpp.
|
inline |
Definition at line 416 of file XalanMap.hpp.
|
inline |
Definition at line 408 of file XalanMap.hpp.
|
inline |
Definition at line 350 of file XalanMap.hpp.
|
inline |
Definition at line 375 of file XalanMap.hpp.
|
inline |
Definition at line 287 of file XalanMap.hpp.
|
inline |
Definition at line 398 of file XalanMap.hpp.
|
inline |
Definition at line 393 of file XalanMap.hpp.
|
inline |
Definition at line 311 of file XalanMap.hpp.
|
inline |
Definition at line 380 of file XalanMap.hpp.
|
inlineprotected |
Definition at line 590 of file XalanMap.hpp.
|
inline |
Definition at line 320 of file XalanMap.hpp.
|
inline |
Definition at line 450 of file XalanMap.hpp.
|
protected |
Definition at line 729 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap().
|
protected |
Definition at line 725 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap().
|
protected |
Definition at line 715 of file XalanMap.hpp.
|
protected |
Definition at line 731 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap().
|
protected |
Definition at line 733 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap().
|
protected |
Definition at line 727 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap().
|
protected |
Definition at line 713 of file XalanMap.hpp.
|
protected |
Definition at line 719 of file XalanMap.hpp.
|
protected |
Definition at line 717 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap().
|
protected |
Definition at line 721 of file XalanMap.hpp.
|
protected |
Definition at line 723 of file XalanMap.hpp.
Referenced by xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::swap(), and xalanc::XalanMap< const XalanDOMChar *, XalanSourceTreeElement * >::XalanMap().
Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.
Generated on Sun May 31 2020 10:37:36 for Xalan-C++ API Reference by 1.8.17