#include <hashset.h>
Public Types | |
| typedef std::set< keyT, setT > | stdset |
| typedef std::vector< stdset > | hash_array |
Public Member Functions | |
| iterator | begin () |
| return the first element valid element | |
| iterator | end () |
| return the end | |
| hashset (unsigned int n=127, unsigned int lf=10) | |
| default constructor initialize the table of size n. default size is 127 | |
| unsigned int | size () const |
| to the users, they do no know about the vector size they just care the number of elements | |
| iterator | insert (keyT key) |
| insert an item, this may cause expand to be called | |
| iterator | find (keyT v) |
| return an iterator points to the key, if not found return end | |
| bool | remove (keyT x) |
| remove a key | |
| bool | erase (keyT x) |
| erase a key, same as remove. | |
Protected Member Functions | |
| bool | needToRehash () |
| check the condition to see if we need to rehash | |
| void | rehash () |
| expand the table and rehash all keys when the table is too small | |
Protected Attributes | |
| hash_array | table |
| array that hold the actual values | |
| unsigned int | vectorSize |
| size of the vector | |
| unsigned int | tableSize |
| number of elements | |
| unsigned int | loadFactor |
| load factor controls how the rehash condition will be set. | |
|
|||||
|
Definition at line 22 of file hashset.h. Referenced by hashset< keyT, hasherT, setT >::rehash(). |
|
|||||
|
|
|
||||||||||||||||
|
default constructor initialize the table of size n. default size is 127
Definition at line 114 of file hashset.h. References hashset< keyT, hasherT, setT >::loadFactor, hashset< keyT, hasherT, setT >::table, hashset< keyT, hasherT, setT >::tableSize, and hashset< keyT, hasherT, setT >::vectorSize. |
|
|||||||||
|
return the first element valid element
Definition at line 97 of file hashset.h. References hashset< keyT, hasherT, setT >::end(), and hashset< keyT, hasherT, setT >::table. Referenced by ADFPruner::prune(), and hashset< keyT, hasherT, setT >::rehash(). |
|
|||||||||
|
return the end
Definition at line 108 of file hashset.h. References hashset< keyT, hasherT, setT >::table. Referenced by hashset< keyT, hasherT, setT >::begin(), hashset< keyT, hasherT, setT >::find(), hashset< keyT, hasherT, setT >::insert(), ADFPruner::prune(), and hashset< keyT, hasherT, setT >::rehash(). |
|
||||||||||
|
erase a key, same as remove.
Definition at line 190 of file hashset.h. References hashset< keyT, hasherT, setT >::remove(). |
|
||||||||||
|
return an iterator points to the key, if not found return end
Definition at line 157 of file hashset.h. References hashset< keyT, hasherT, setT >::end(), hashset< keyT, hasherT, setT >::table, and hashset< keyT, hasherT, setT >::vectorSize. |
|
||||||||||
|
insert an item, this may cause expand to be called
Definition at line 133 of file hashset.h. References hashset< keyT, hasherT, setT >::end(), hashset< keyT, hasherT, setT >::needToRehash(), hashset< keyT, hasherT, setT >::rehash(), hashset< keyT, hasherT, setT >::table, hashset< keyT, hasherT, setT >::tableSize, and hashset< keyT, hasherT, setT >::vectorSize. Referenced by ADFPruner::prune(), and hashset< keyT, hasherT, setT >::rehash(). |
|
|||||||||
|
check the condition to see if we need to rehash
Definition at line 206 of file hashset.h. References hashset< keyT, hasherT, setT >::loadFactor, hashset< keyT, hasherT, setT >::tableSize, and hashset< keyT, hasherT, setT >::vectorSize. Referenced by hashset< keyT, hasherT, setT >::insert(). |
|
|||||||||
|
expand the table and rehash all keys when the table is too small
Definition at line 213 of file hashset.h. References hashset< keyT, hasherT, setT >::begin(), hashset< keyT, hasherT, setT >::end(), hashset< keyT, hasherT, setT >::hash_array, hashset< keyT, hasherT, setT >::insert(), hashset< keyT, hasherT, setT >::table, hashset< keyT, hasherT, setT >::tableSize, and hashset< keyT, hasherT, setT >::vectorSize. Referenced by hashset< keyT, hasherT, setT >::insert(). |
|
||||||||||
|
remove a key
Definition at line 173 of file hashset.h. References hashset< keyT, hasherT, setT >::table, hashset< keyT, hasherT, setT >::tableSize, and hashset< keyT, hasherT, setT >::vectorSize. Referenced by hashset< keyT, hasherT, setT >::erase(). |
|
|||||||||
|
to the users, they do no know about the vector size they just care the number of elements
Definition at line 123 of file hashset.h. References hashset< keyT, hasherT, setT >::tableSize. |
|
|||||
|
load factor controls how the rehash condition will be set.
Definition at line 203 of file hashset.h. Referenced by hashset< keyT, hasherT, setT >::hashset(), and hashset< keyT, hasherT, setT >::needToRehash(). |
|
|||||
|
array that hold the actual values
Definition at line 197 of file hashset.h. Referenced by hashset< keyT, hasherT, setT >::begin(), hashset< keyT, hasherT, setT >::end(), hashset< keyT, hasherT, setT >::find(), hashset< keyT, hasherT, setT >::hashset(), hashset< keyT, hasherT, setT >::insert(), hashset< keyT, hasherT, setT >::rehash(), and hashset< keyT, hasherT, setT >::remove(). |
|
|||||
|
number of elements
Definition at line 201 of file hashset.h. Referenced by hashset< keyT, hasherT, setT >::hashset(), hashset< keyT, hasherT, setT >::insert(), hashset< keyT, hasherT, setT >::needToRehash(), hashset< keyT, hasherT, setT >::rehash(), hashset< keyT, hasherT, setT >::remove(), and hashset< keyT, hasherT, setT >::size(). |
|
|||||
|
size of the vector
Definition at line 199 of file hashset.h. Referenced by hashset< keyT, hasherT, setT >::find(), hashset< keyT, hasherT, setT >::hashset(), hashset< keyT, hasherT, setT >::insert(), hashset< keyT, hasherT, setT >::needToRehash(), hashset< keyT, hasherT, setT >::rehash(), and hashset< keyT, hasherT, setT >::remove(). |
1.3.4