HDK
|
#include <robin_hash.h>
Public Types | |
using | value_type = ValueType |
using | distance_type = std::int16_t |
Static Public Member Functions | |
static truncated_hash_type | truncate_hash (std::size_t hash) noexcept |
Static Public Attributes | |
static const distance_type | EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET = -1 |
static const distance_type | DIST_FROM_IDEAL_BUCKET_LIMIT = 8192 |
Additional Inherited Members | |
![]() | |
void | set_hash (truncated_hash_type) noexcept |
Each bucket entry has:
ValueType
.== 3,
dist_from_ideal_bucket()` will return 2 as the current value of the bucket is two buckets away from its ideal bucket) If there is no value in the bucket (i.e. empty()
is true) dist_from_ideal_bucket()
will be < 0.StoreHash
is true, 32 bits of the hash of the value, if any, are also stored in the bucket. If the size of the hash is more than 32 bits, it is truncated. We don't store the full hash as storing the hash is a potential opportunity to use the unused space due to the alignment of the bucket_entry structure. We can thus potentially store the hash without any extra space (which would not be possible with 64 bits of the hash). Definition at line 175 of file robin_hash.h.
using pxr_tsl::detail_robin_hash::bucket_entry< ValueType, StoreHash >::distance_type = std::int16_t |
Definition at line 180 of file robin_hash.h.
using pxr_tsl::detail_robin_hash::bucket_entry< ValueType, StoreHash >::value_type = ValueType |
Definition at line 179 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 182 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 189 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 196 of file robin_hash.h.
|
inlinenoexcept |
Never really used, but still necessary as we must call resize on an empty std::vector<bucket_entry>
. and we need to support move-only types. See robin_hash constructor for details.
Definition at line 214 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 247 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 249 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 280 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 256 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 284 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 227 of file robin_hash.h.
|
delete |
|
inlinenoexcept |
Definition at line 286 of file robin_hash.h.
|
inline |
Definition at line 289 of file robin_hash.h.
|
inline |
Definition at line 303 of file robin_hash.h.
|
inlinestaticnoexcept |
Definition at line 322 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 260 of file robin_hash.h.
|
inlinenoexcept |
Definition at line 270 of file robin_hash.h.
|
static |
Definition at line 334 of file robin_hash.h.
|
static |
Definition at line 333 of file robin_hash.h.