#include <wvscatterhash.h>
Inherits WvScatterHashBase.
Collaboration diagram for WvScatterHash< T, K, Accessor, Comparator >:
Public Types | |
typedef WvSorter< T, WvScatterHashBase, WvScatterHashBase::IterBase > | Sorter |
Public Member Functions | |
WvScatterHash (unsigned _numslots=0) | |
virtual | ~WvScatterHash () |
T * | operator[] (const K &key) const |
void | add (const T *data, bool auto_free=false) |
void | remove (const T *data) |
void | set_autofree (const T *data, bool auto_free) |
bool | get_autofree (const T *data) |
void | zap () |
size_t | count () const |
bool | isempty () const |
size_t | slowcount () const |
Static Public Attributes | |
pair | null_pair |
const unsigned | prime_numbers [] = {2u, 5u, 11u, 17u, 31u, 67u, 127u, 251u, 509u, 1021u, 2039u, 4093u, 8191u, 16381u, 32749u, 65521u, 131071u, 262139u, 524287u, 1048573u, 2097143u, 4194301u, 8388593u, 16777213u, 33554393u, 67108859u, 134217689u, 268435399u, 536870909u, 1073741789u, 2147483647u, 4294967281u} |
Protected Types | |
typedef Comparator< K > | MyComparator |
Protected Member Functions | |
virtual bool | compare (const void *key, const void *elem) const |
unsigned | hash (const T *data) |
virtual unsigned | do_hash (const void *data) |
virtual void | do_delete (void *data) |
pair * | genfind (const void *data, unsigned hash) const |
void | _add (void *data, bool auto_free) |
void | _add (void *data, unsigned hash, bool auto_free) |
void | _remove (const void *data, unsigned hash) |
void | _zap () |
void | _set_autofree (const void *data, unsigned hash, bool auto_free) |
bool | _get_autofree (const void *data, unsigned hash) |
Protected Attributes | |
pair * | xslots |
int | prime_index |
unsigned | numslots |
|
Definition at line 125 of file wvscatterhash.h. |
|
Definition at line 177 of file wvscatterhash.h. |
|
Definition at line 141 of file wvscatterhash.h. |
|
Definition at line 142 of file wvscatterhash.h. |
|
Definition at line 77 of file wvscatterhash.cc. References IS_DELETED, and IS_OCCUPIED. |
|
Definition at line 72 of file wvscatterhash.cc. References WvScatterHashBase::do_hash(). Referenced by WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::add(). |
|
Definition at line 134 of file wvscatterhash.cc. References WvScatterHashBase::genfind(), and IS_AUTO_FREE. Referenced by WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::get_autofree(). |
|
Definition at line 99 of file wvscatterhash.cc. References WvScatterHashBase::pair::data, WvScatterHashBase::do_delete(), WvScatterHashBase::genfind(), IS_AUTO_FREE, WvScatterHashBase::null_pair, and WvScatterHashBase::pair::status. Referenced by WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::remove(). |
|
Definition at line 125 of file wvscatterhash.cc. References WvScatterHashBase::genfind(), and WvScatterHashBase::pair::status. Referenced by WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::set_autofree(). |
|
Definition at line 112 of file wvscatterhash.cc. References WvScatterHashBase::do_delete(), and IS_AUTO_FREE. Referenced by WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::zap(), and WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::~WvScatterHash(). |
|
Definition at line 147 of file wvscatterhash.h. |
|
Implements WvScatterHashBase. Definition at line 127 of file wvscatterhash.h. |
|
Definition at line 37 of file wvscatterhash.h. |
|
Implements WvScatterHashBase. Definition at line 137 of file wvscatterhash.h. |
|
Implements WvScatterHashBase. Definition at line 134 of file wvscatterhash.h. |
|
Definition at line 146 of file wvscatterhash.cc. References IS_OCCUPIED. Referenced by WvScatterHashBase::_get_autofree(), WvScatterHashBase::_remove(), WvScatterHashBase::_set_autofree(), and WvScatterHash< UniHashTreeBase, UniConfKey, Accessor >::operator[](). |
|
Definition at line 156 of file wvscatterhash.h. |
|
|
Definition at line 38 of file wvscatterhash.h. Referenced by UniHashTreeBase::haschildren(). |
|
Definition at line 144 of file wvscatterhash.h. |
|
Definition at line 150 of file wvscatterhash.h. |
|
Definition at line 153 of file wvscatterhash.h. |
|
Definition at line 36 of file wvscatterhash.cc. References IS_OCCUPIED, and WvScatterHashBase::xslots. |
|
Definition at line 159 of file wvscatterhash.h. |
|
Definition at line 13 of file wvscatterhash.cc. Referenced by WvScatterHashBase::_remove(). |
|
Definition at line 90 of file wvscatterhash.h. Referenced by WvScatterHashBase::IterBase::cur(), and WvScatterHashBase::IterBase::next(). |
|
Definition at line 89 of file wvscatterhash.h. Referenced by WvScatterHashBase::WvScatterHashBase(). |
|
Definition at line 11 of file wvscatterhash.cc. Referenced by WvScatterHashBase::WvScatterHashBase(). |
|