IOSS 2.0
|
#include <robin_hash.h>
Public Types | |
using | iterator_category = std::forward_iterator_tag |
using | value_type = const typename robin_hash::value_type |
using | difference_type = std::ptrdiff_t |
using | reference = value_type & |
using | pointer = value_type * |
Public Member Functions | |
robin_iterator () noexcept=default | |
template<bool TIsConst = IsConst, typename std::enable_if< TIsConst >::type * = nullptr> | |
robin_iterator (const robin_iterator<!TIsConst > &other) noexcept | |
robin_iterator (const robin_iterator &other)=default | |
robin_iterator (robin_iterator &&other)=default | |
robin_iterator & | operator= (const robin_iterator &other)=default |
robin_iterator & | operator= (robin_iterator &&other)=default |
const robin_hash::key_type & | key () const |
template<class U = ValueSelect, typename std::enable_if< has_mapped_type< U >::value &&IsConst >::type * = nullptr> | |
const U::value_type & | value () const |
template<class U = ValueSelect, typename std::enable_if< has_mapped_type< U >::value &&!IsConst >::type * = nullptr> | |
U::value_type & | value () const |
reference | operator* () const |
pointer | operator-> () const |
robin_iterator & | operator++ () |
robin_iterator | operator++ (int) |
Private Types | |
using | bucket_entry_ptr |
Private Member Functions | |
robin_iterator (bucket_entry_ptr bucket) noexcept | |
Private Attributes | |
bucket_entry_ptr | m_bucket |
Friends | |
class | robin_hash |
bool | operator== (const robin_iterator &lhs, const robin_iterator &rhs) |
bool | operator!= (const robin_iterator &lhs, const robin_iterator &rhs) |
The 'operator*()' and 'operator->()' methods return a const reference and const pointer respectively to the stored value type.
In case of a map, to get a mutable reference to the value associated to a key (the '.second' in the stored pair), you have to call 'value()'.
The main reason for this is that if we returned a std::pair<Key, T>&
instead of a const std::pair<Key, T>&
, the user may modify the key which will put the map in a undefined state.
|
private |
using tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::difference_type = std::ptrdiff_t |
using tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::iterator_category = std::forward_iterator_tag |
using tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::pointer = value_type * |
using tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::reference = value_type & |
using tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::value_type = const typename robin_hash::value_type |
|
inlineprivatenoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
|
default |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
default |
|
default |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
private |