8 template <
class Entry,
typename Number>
11 template <
class Entry,
typename Number>
15 template <
class Entry,
typename Number>
17 : d_mod(256),d_hash(), d_pool(pool)
22 template <
class Entry,
typename Number>
29 for (
size_t i=0; i<
d_pool.size(); ++i)
31 size_t h=Entry(
d_pool[i]).hashCode(d_mod);
40 template <
class Entry,
typename Number>
50 template <
class Entry,
typename Number>
53 size_t h=x.hashCode(
d_mod);
67 template <
class Entry,
typename Number>
70 size_t h=x.hashCode(
d_mod);
76 if (i!=
empty)
return i;
87 throw std::runtime_error(
"Hash table overflow");
Entry::Pooltype & d_pool
Definition: hashtable.h:70
size_t d_mod
Definition: hashtable.h:68
size_t max_fill() const
Definition: hashtable.h:94
void reconstruct()
Definition: hashtable_def.h:41
Number find(const Entry &) const
Definition: hashtable_def.h:51
Number match(const Entry &)
Definition: hashtable_def.h:68
void rehash()
Definition: hashtable_def.h:23
static const Number empty
Definition: hashtable.h:76
static const float fill_fraction
Definition: hashtable.h:77
HashTable(typename Entry::Pooltype &pool)
Definition: hashtable_def.h:16
std::vector< Number > d_hash
Definition: hashtable.h:69