IOSS 2.0

Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > Class Template Reference

`#include <hopscotch_hash.h>`

Inheritance diagram for tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >:
[legend]
Collaboration diagram for tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >:
[legend]

## Public Types
using | value_type = ValueType
using | neighborhood_bitmap = typename smallest_type_for_min_bits< NeighborhoodSize+NB_RESERVED_BITS_IN_NEIGHBORHOOD >::type

## Public Member Functions
| hopscotch_bucket () noexcept
| hopscotch_bucket (const hopscotch_bucket &bucket) noexcept(std::is_nothrow_copy_constructible< value_type >::value)
| hopscotch_bucket (hopscotch_bucket &&bucket) noexcept(std::is_nothrow_move_constructible< value_type >::value)
hopscotch_bucket & | operator= (const hopscotch_bucket &bucket) noexcept(std::is_nothrow_copy_constructible< value_type >::value)
hopscotch_bucket & | operator= (hopscotch_bucket &&)=delete
| ~hopscotch_bucket () noexcept
neighborhood_bitmap | neighborhood_infos () const noexcept
void | set_overflow (bool has_overflow) noexcept
bool | has_overflow () const noexcept
bool | empty () const noexcept
void | toggle_neighbor_presence (std::size_t ineighbor) noexcept
bool | check_neighbor_presence (std::size_t ineighbor) const noexcept
value_type & | value () noexcept
const value_type & | value () const noexcept
template<typename... Args>
void | set_value_of_empty_bucket (truncated_hash_type my_hash, Args &&... value_type_args)
void | swap_value_into_empty_bucket (hopscotch_bucket &empty_bucket)
void | remove_value () noexcept
void | clear () noexcept
Public Member Functions inherited from tsl::detail_hopscotch_hash::hopscotch_bucket_hash< StoreHash >
bool | bucket_hash_equal (std::size_t) const noexcept
truncated_hash_type | truncated_bucket_hash () const noexcept

## Static Public Member Functions
static truncated_hash_type | truncate_hash (std::size_t my_hash) noexcept

## Private Types
using | bucket_hash = hopscotch_bucket_hash< StoreHash >
using | storage = typename std::aligned_storage< sizeof(value_type), alignof(value_type)>::type

## Private Member Functions
void | set_empty (bool is_empty) noexcept
void | destroy_value () noexcept

## Private Attributes
neighborhood_bitmap | m_neighborhood_infos
storage | m_value

## Static Private Attributes
static const std::size_t | MIN_NEIGHBORHOOD_SIZE = 4
static const std::size_t | MAX_NEIGHBORHOOD_SIZE

## Additional Inherited Members
Protected Member Functions inherited from tsl::detail_hopscotch_hash::hopscotch_bucket_hash< StoreHash >
void | copy_hash (const hopscotch_bucket_hash &) noexcept
void | set_hash (truncated_hash_type) noexcept

## Member Typedef Documentation

## ◆ bucket_hash

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

using tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::bucket_hash = hopscotch_bucket_hash<StoreHash>
| private

## ◆ neighborhood_bitmap

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

using tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::neighborhood_bitmap = typename smallest_type_for_min_bits<NeighborhoodSize + NB_RESERVED_BITS_IN_NEIGHBORHOOD>::type

## ◆ storage

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

using tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::storage = typename std::aligned_storage<sizeof(value_type), alignof(value_type)>::type
| private

## ◆ value_type

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

using tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::value_type = ValueType

## Constructor & Destructor Documentation

## ◆ hopscotch_bucket() [1/3]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::hopscotch_bucket | ( |  | ) |
| inlinenoexcept

## ◆ hopscotch_bucket() [2/3]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::hopscotch_bucket | ( | const hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > & | bucket | ) |
| inlinenoexcept

## ◆ hopscotch_bucket() [3/3]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::hopscotch_bucket | ( | hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > && | bucket | ) |
| inlinenoexcept

## ◆ ~hopscotch_bucket()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::~hopscotch_bucket | ( |  | ) |
| inlinenoexcept

## Member Function Documentation

## ◆ check_neighbor_presence()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

bool tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::check_neighbor_presence | ( | std::size_t | ineighbor | ) | const
| inlinenoexcept

## ◆ clear()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::clear | ( |  | ) |
| inlinenoexcept

## ◆ destroy_value()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::destroy_value | ( |  | ) |
| inlineprivatenoexcept

## ◆ empty()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

bool tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::empty | ( |  | ) | const
| inlinenoexcept

## ◆ has_overflow()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

bool tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::has_overflow | ( |  | ) | const
| inlinenoexcept

## ◆ neighborhood_infos()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

neighborhood_bitmap tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::neighborhood_infos | ( |  | ) | const
| inlinenoexcept

## ◆ operator=() [1/2]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

hopscotch_bucket& tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::operator= | ( | const hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > & | bucket | ) |
| inlinenoexcept

## ◆ operator=() [2/2]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

hopscotch_bucket& tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::operator= | ( | hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > && |  | ) |
| delete

## ◆ remove_value()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::remove_value | ( |  | ) |
| inlinenoexcept

## ◆ set_empty()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::set_empty | ( | bool | is_empty | ) |
| inlineprivatenoexcept

## ◆ set_overflow()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::set_overflow | ( | bool | has_overflow | ) |
| inlinenoexcept

## ◆ set_value_of_empty_bucket()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>
template<typename... Args>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::set_value_of_empty_bucket | ( | truncated_hash_type | my_hash,
|  | Args &&... | value_type_args
| ) |  |
| inline

## ◆ swap_value_into_empty_bucket()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::swap_value_into_empty_bucket | ( | hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > & | empty_bucket | ) |
| inline

## ◆ toggle_neighbor_presence()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

void tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::toggle_neighbor_presence | ( | std::size_t | ineighbor | ) |
| inlinenoexcept

## ◆ truncate_hash()

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

static truncated_hash_type tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::truncate_hash | ( | std::size_t | my_hash | ) |
| inlinestaticnoexcept

## ◆ value() [1/2]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

const value_type& tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::value | ( |  | ) | const
| inlinenoexcept

## ◆ value() [2/2]

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

value_type& tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::value | ( |  | ) |
| inlinenoexcept

## Member Data Documentation

## ◆ m_neighborhood_infos

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

neighborhood_bitmap tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::m_neighborhood_infos
| private

## ◆ m_value

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

storage tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::m_value
| private

## ◆ MAX_NEIGHBORHOOD_SIZE

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

const std::size_t tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::MAX_NEIGHBORHOOD_SIZE
| staticprivate

Initial value:
=
SMALLEST_TYPE_MAX_BITS_SUPPORTED - NB_RESERVED_BITS_IN_NEIGHBORHOOD

## ◆ MIN_NEIGHBORHOOD_SIZE

template<typename ValueType , unsigned int NeighborhoodSize, bool StoreHash>

const std::size_t tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >::MIN_NEIGHBORHOOD_SIZE = 4
| staticprivate

The documentation for this class was generated from the following file:

- src/hash/hopscotch_hash.h

tsl::detail_hopscotch_hash::NB_RESERVED_BITS_IN_NEIGHBORHOOD
static const std::size_t NB_RESERVED_BITS_IN_NEIGHBORHOOD
Definition: hopscotch_hash.h:158
tsl::detail_hopscotch_hash::SMALLEST_TYPE_MAX_BITS_SUPPORTED
static const std::size_t SMALLEST_TYPE_MAX_BITS_SUPPORTED
Definition: hopscotch_hash.h:101