IOSS 2.0
|
#include <robin_hash.h>
Public Types | |
using | value_type = ValueType |
using | distance_type = std::int16_t |
Public Member Functions | |
bucket_entry () noexcept | |
bucket_entry (bool last_bucket) noexcept | |
bucket_entry (const bucket_entry &other) noexcept(std::is_nothrow_copy_constructible< value_type >::value) | |
bucket_entry (bucket_entry &&other) noexcept(std::is_nothrow_move_constructible< value_type >::value) | |
bucket_entry & | operator= (const bucket_entry &other) noexcept(std::is_nothrow_copy_constructible< value_type >::value) |
bucket_entry & | operator= (bucket_entry &&)=delete |
~bucket_entry () noexcept | |
void | clear () noexcept |
bool | empty () const noexcept |
value_type & | value () noexcept |
const value_type & | value () const noexcept |
distance_type | dist_from_ideal_bucket () const noexcept |
bool | last_bucket () const noexcept |
void | set_as_last_bucket () noexcept |
template<typename... Args> | |
void | set_value_of_empty_bucket (distance_type dist_from_ideal_bucket, truncated_hash_type my_hash, Args &&...value_type_args) |
void | swap_with_value_in_bucket (distance_type &dist_from_ideal_bucket, truncated_hash_type &my_hash, value_type &value) |
Public Member Functions inherited from tsl::detail_robin_hash::bucket_entry_hash< StoreHash > | |
bool | bucket_hash_equal (std::size_t) const noexcept |
truncated_hash_type | truncated_hash () const noexcept |
Static Public Member Functions | |
static truncated_hash_type | truncate_hash (std::size_t my_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 |
Private Types | |
using | bucket_hash = bucket_entry_hash<StoreHash> |
Private Member Functions | |
void | destroy_value () noexcept |
Private Attributes | |
distance_type | m_dist_from_ideal_bucket |
bool | m_last_bucket |
unsigned char | m_value [sizeof(value_type)] |
Additional Inherited Members | |
Protected Member Functions inherited from tsl::detail_robin_hash::bucket_entry_hash< StoreHash > | |
void | set_hash (truncated_hash_type) noexcept |
Each bucket entry has:
|
private |
using tsl::detail_robin_hash::bucket_entry< ValueType, StoreHash >::distance_type = std::int16_t |
using tsl::detail_robin_hash::bucket_entry< ValueType, StoreHash >::value_type = ValueType |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
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.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprivatenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinestaticnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
|
static |
|
private |
|
private |
|
private |