Internal storage type for HashTable entries. More...

Public Types | |
| typedef K | key_type |
| Type of key. More... | |
| typedef V | mapped_type |
| Type of content. More... | |
Public Member Functions | |
| HashTablePair (const HashTablePair &)=delete | |
| No copy construct. More... | |
| void | operator= (const HashTablePair &)=delete |
| No copy assignment. More... | |
| template<class... Args> | |
| HashTablePair (HashTablePair *next, const key_type &key, Args &&... args) | |
| Construct from next pointer, key, contents. More... | |
| const key_type & | key () const noexcept |
| The key. More... | |
| const mapped_type & | cval () const noexcept |
| Const access to the mapped value. More... | |
| const mapped_type & | val () const noexcept |
| Const access to the mapped value. More... | |
| mapped_type & | val () noexcept |
| Non-const access to the mapped value. More... | |
| bool | operator< (const HashTablePair &rhs) const |
| Compare keys. More... | |
| template<class TypeT = V> | |
| std::enable_if<(std::is_pointer< TypeT >::value||Detail::isPointerLike< TypeT >::value), void >::type | print (Ostream &os) const |
| Write (key, val) pair - for pointer types. More... | |
| template<class TypeT = V> | |
| std::enable_if<(!std::is_pointer< TypeT >::value &&!Detail::isPointerLike< TypeT >::value), void >::type | print (Ostream &os) const |
| Write (key, val) pair - for non-pointer types. More... | |
Static Public Member Functions | |
| static constexpr bool | stores_value () noexcept |
| This class stores a value. More... | |
Public Attributes | |
| const K | key_ |
| The lookup key. More... | |
| V | val_ |
| The mapped data. More... | |
| HashTablePair * | next_ |
| Addressing (next in collision list) More... | |
Internal storage type for HashTable entries.
Internal storage type for HashTable.
Comprises a (K,V) tuple and a linked-list entry for hash collisions. Could store key/val as std::pair, but no particular advantage unless the iterator dereference type changes.
Definition at line 84 of file HashTableDetail.H.
Type of key.
Definition at line 91 of file HashTableDetail.H.
| typedef V mapped_type |
Type of content.
Definition at line 96 of file HashTableDetail.H.
|
delete |
No copy construct.
|
inline |
Construct from next pointer, key, contents.
Definition at line 145 of file HashTableDetail.H.
|
inlinestaticnoexcept |
This class stores a value.
Definition at line 101 of file HashTableDetail.H.
|
delete |
No copy assignment.
|
inlinenoexcept |
|
inlinenoexcept |
Const access to the mapped value.
Definition at line 170 of file HashTableDetail.H.
References HashTablePair< K, V >::val_.
|
inlinenoexcept |
Const access to the mapped value.
Definition at line 178 of file HashTableDetail.H.
References HashTablePair< K, V >::val_.
|
inlinenoexcept |
Non-const access to the mapped value.
Definition at line 186 of file HashTableDetail.H.
References HashTablePair< K, V >::val_.
|
inline |
Compare keys.
Definition at line 195 of file HashTableDetail.H.
References HashTablePair< K, V >::key_.
|
inline |
Write (key, val) pair - for pointer types.
Definition at line 212 of file HashTableDetail.H.
References HashTablePair< K, V >::key_, os(), and HashTablePair< K, V >::val_.

|
inline |
Write (key, val) pair - for non-pointer types.
Definition at line 234 of file HashTableDetail.H.
References HashTablePair< K, V >::key_, os(), and HashTablePair< K, V >::val_.

| const K key_ |
The lookup key.
Definition at line 112 of file HashTableDetail.H.
Referenced by HashTablePair< K, V >::key(), HashTablePair< K, V >::operator<(), and HashTablePair< K, V >::print().
| V val_ |
The mapped data.
Definition at line 117 of file HashTableDetail.H.
Referenced by HashTablePair< K, V >::cval(), HashTablePair< K, V >::print(), and HashTablePair< K, V >::val().
| HashTablePair* next_ |
Addressing (next in collision list)
Definition at line 122 of file HashTableDetail.H.