Go to the documentation of this file.
30 template<
class T,
class Key,
class Hash>
40 template<
class T,
class Key,
class Hash>
52 if (container_ && container_->size_)
57 !(entry_ = container_->table_[index_])
58 && ++index_ < container_->capacity_
62 if (index_ >= container_->capacity_)
75 template<
class T,
class Key,
class Hash>
86 index_ = -(index_+1) - 1;
88 else if (index_ < container_->capacity_ && entry_ && entry_->next_)
91 entry_ = entry_->next_;
98 ++index_ < container_->capacity_
99 && !(entry_ = container_->table_[index_])
103 if (index_ >= container_->capacity_)
112 template<
class T,
class Key,
class Hash>
121 template<
class T,
class Key,
class Hash>
130 template<
class T,
class Key,
class Hash>
134 return entry_->key();
138 template<
class T,
class Key,
class Hash>
153 template<
class T,
class Key,
class Hash>
162 template<
class T,
class Key,
class Hash>
169 return entry_ == iter.
entry_;
173 template<
class T,
class Key,
class Hash>
180 return entry_ != iter.
entry_;
184 template<
class T,
class Key,
class Hash>
191 return entry_ == iter.
entry_;
195 template<
class T,
class Key,
class Hash>
202 return entry_ != iter.
entry_;
208 template<
class T,
class Key,
class Hash>
217 template<
class T,
class Key,
class Hash>
229 template<
class T,
class Key,
class Hash>
238 template<
class T,
class Key,
class Hash>
250 template<
class T,
class Key,
class Hash>
258 template<
class T,
class Key,
class Hash>
266 template<
class T,
class Key,
class Hash>
274 template<
class T,
class Key,
class Hash>
278 return iterator_end<iterator>();
282 template<
class T,
class Key,
class Hash>
286 return iterator_cend<const_iterator>();
290 template<
class T,
class Key,
class Hash>
294 return iterator_cend<const_iterator>();
Forward iterator with non-const access.
const_iterator cbegin() const
const_iterator set to the beginning of the HashTable
void increment()
Increment to the next position.
Forward iterator with const access.
virtual void print(Ostream &os) const
Print description of IOstream to Ostream.
node_type * entry_
The selected entry.
const const_iterator & cend() const
const_iterator to signal the end for any HashTable
const_iterator & operator++()
friend class Iterator< true >
An iterator with const access to HashTable internals.
friend class Iterator< false >
An iterator with non-const access to HashTable internals.
A HashTable similar to std::unordered_map.
iterator begin()
iterator set to the beginning of the HashTable
Ostream & print(Ostream &os, UIntType value, char off='0', char on='1')
Print 0/1 bits in the (unsigned) integral type.
Internally used base for iterator and const_iterator.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
bool found(const Key &key) const
Return true if hashed entry is found in table.
const iterator & end()
iterator to signal the end for any HashTable