OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash > Class Template Reference

Detailed Description

template<typename ValueType, unsigned int NeighborhoodSize, bool StoreHash>
class tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >

Definition at line 406 of file hopscotch_hash.h.

+ Inheritance diagram for tsl::detail_hopscotch_hash::hopscotch_bucket< ValueType, NeighborhoodSize, StoreHash >:

Public Types

using value_type = ValueType
using neighborhood_bitmap = typename smallest_type_for_min_bits< NeighborhoodSize+NB_RESERVED_BITS_IN_NEIGHBORHOOD >::type
- Public Types inherited from tsl::detail_hopscotch_hash::hopscotch_bucket_hash< StoreHash >
using hash_type = std::false_type

Public Member Functions

 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_bucketoperator= (const hopscotch_bucket &bucket) noexcept(std::is_nothrow_copy_constructible< value_type >::value)
hopscotch_bucketoperator= (hopscotch_bucket &&)=delete
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 P >
void set_value_of_empty_bucket (P &&value, std::size_t hash)
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
std::size_t truncated_bucket_hash () const noexcept

Static Public Member Functions

static std::size_t max_size () 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 size_t MIN_NEIGHBORHOOD_SIZE = 4

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 (std::size_t) noexcept

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