Go to the documentation of this file.
30 template<
class T,
class Key,
class Hash>
41 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>
156 bool() const noexcept
162 template<
class T,
class Key,
class Hash>
170 return entry_ == iter.
entry_;
174 template<
class T,
class Key,
class Hash>
182 return entry_ != iter.
entry_;
188 template<
class T,
class Key,
class Hash>
197 template<
class T,
class Key,
class Hash>
209 template<
class T,
class Key,
class Hash>
218 template<
class T,
class Key,
class Hash>
230 template<
class T,
class Key,
class Hash>
238 template<
class T,
class Key,
class Hash>
246 template<
class T,
class Key,
class Hash>
254 template<
class T,
class Key,
class Hash>
262 template<
class T,
class Key,
class Hash>
266 return const_iterator();
270 template<
class T,
class Key,
class Hash>
274 return const_iterator();
const_iterator cbegin() const
virtual void print(Ostream &os) const
auto key(const Type &t) -> typename std::enable_if< std::is_enum< Type >::value, typename std::underlying_type< Type >::type >::type
constexpr const_iterator cend() const noexcept
const_iterator & operator++()
OBJstream os(runTime.globalPath()/outputName)
friend class Iterator< true >
friend class Iterator< false >
A HashTable similar to std::unordered_map.
typename std::conditional< Const, const this_type, this_type >::type table_type
Ostream & print(Ostream &os, UIntType value, char off='0', char on='1')
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
bool found(const Key &key) const