HDK
|
#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 | |
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) |
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.
Definition at line 368 of file robin_hash.h.
using pxr_tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::difference_type = std::ptrdiff_t |
Definition at line 461 of file robin_hash.h.
using pxr_tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::iterator_category = std::forward_iterator_tag |
Definition at line 459 of file robin_hash.h.
using pxr_tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::pointer = value_type* |
Definition at line 463 of file robin_hash.h.
using pxr_tsl::detail_robin_hash::robin_hash< ValueType, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy >::robin_iterator< IsConst >::reference = value_type& |
Definition at line 462 of file robin_hash.h.
using pxr_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 |
Definition at line 460 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 465 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 470 of file robin_hash.h.
|
default |
|
default |
|
inline |
Definition at line 478 of file robin_hash.h.
|
inline |
Definition at line 496 of file robin_hash.h.
|
inline |
Definition at line 500 of file robin_hash.h.
|
inline |
Definition at line 514 of file robin_hash.h.
|
inline |
Definition at line 498 of file robin_hash.h.
|
default |
|
default |
|
inline |
Definition at line 485 of file robin_hash.h.
|
inline |
Definition at line 492 of file robin_hash.h.
|
friend |
Definition at line 526 of file robin_hash.h.
|
friend |
Definition at line 521 of file robin_hash.h.
|
friend |
Definition at line 449 of file robin_hash.h.