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 |
The key. More... | |
const mapped_type & | cval () const |
Const access to the mapped value. More... | |
mapped_type & | val () |
Non-const access to the mapped value. 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 struct stores a value. More... | |
Public Attributes | |
key_type | key_ |
The lookup key. More... | |
mapped_type | val_ |
The mapped data. More... | |
HashTablePair * | next_ |
Addressing (next in collision list) More... | |
Internal storage type for HashTable entries.
Internal storage type for HashTable.
Structure with a (K,V) tuple and a linked-list for collisions Could store key/val as std::pair, but no particular advantage unless the iterator dereference type changes.
Definition at line 79 of file HashTableDetail.H.
Type of key.
Definition at line 84 of file HashTableDetail.H.
typedef V mapped_type |
Type of content.
Definition at line 87 of file HashTableDetail.H.
|
delete |
No copy construct.
|
inline |
Construct from next pointer, key, contents.
Definition at line 120 of file HashTableDetail.H.
|
inlinestaticconstexprnoexcept |
This struct stores a value.
Definition at line 90 of file HashTableDetail.H.
|
delete |
No copy assignment.
|
inline |
|
inline |
Const access to the mapped value.
Definition at line 139 of file HashTableDetail.H.
References HashTablePair< K, V >::val_.
|
inline |
Non-const access to the mapped value.
Definition at line 145 of file HashTableDetail.H.
References HashTablePair< K, V >::val_.
|
inline |
Write (key, val) pair - for pointer types.
Definition at line 160 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 180 of file HashTableDetail.H.
References HashTablePair< K, V >::key_, os(), and HashTablePair< K, V >::val_.
key_type key_ |
The lookup key.
Definition at line 99 of file HashTableDetail.H.
Referenced by HashTablePair< K, V >::key(), and HashTablePair< K, V >::print().
mapped_type val_ |
The mapped data.
Definition at line 102 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 105 of file HashTableDetail.H.