33 template<
class Key,
class Hash>
45 template<
class Key,
class Hash>
46 template<
class AnyType,
class AnyHash>
69 template<
class Key,
class Hash>
75 if (this->
insert(lst[elemI]))
87 template<
class Key,
class Hash>
90 return this->
found(key);
94 template<
class Key,
class Hash>
100 if (!rhs.
found(iter.key()))
109 if (!this->
found(iter.key()))
119 template<
class Key,
class Hash>
126 template<
class Key,
class Hash>
137 template<
class Key,
class Hash>
143 if (!rhs.
found(iter.key()))
151 template<
class Key,
class Hash>
157 if (this->
found(iter.key()))
159 this->
erase(iter.key());
169 template<
class Key,
class Hash>
175 this->
erase(iter.key());
182 template<
class Key,
class Hash>
196 template<
class Key,
class Hash>
210 template<
class Key,
class Hash>
void operator&=(const HashSet< Key, Hash > &)
Only retain entries found in both HashSets.
A HashTable with keys but without contents.
#define forAll(list, i)
Loop across all elements in list.
HashTable< nil, Key, Hash >::const_iterator const_iterator
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
HashTable< nil, Key, Hash >::iterator iterator
An STL-conforming const_iterator.
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
label size() const
Return number of elements in table.
bool insert(const Key &key)
Insert a new entry.
bool erase(const iterator &)
Erase a hashedEntry specified by given iterator.
void operator-=(const HashSet< Key, Hash > &)
Remove entries listed in the given HashSet from this HashSet.
bool operator==(const HashSet< Key, Hash > &) const
Equality. Two hashtables are equal when their contents are equal.
HashSet(const label size=128)
Construct given initial size.
bool operator!=(const HashSet< Key, Hash > &) const
The opposite of the equality operation.
iterator begin()
Iterator set to the beginning of the HashTable.
An STL-conforming hash table.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
bool found(const Key &) const
Return true if hashedEntry is found in table.
void operator|=(const HashSet< Key, Hash > &)
Combine entries from HashSets.
bool operator[](const Key &) const
Return true if the entry exists, same as found()
Hash function class for primitives. All non-primitives used to hash entries on hash tables likely nee...
void operator^=(const HashSet< Key, Hash > &)
Only retain unique entries (xor)
static iteratorEnd cend()
iteratorEnd set to beyond the end of any HashTable
const_iterator cbegin() const
const_iterator set to the beginning of the HashTable
A zero-sized class without any storage. Used, for example, in HashSet.