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
 
static const size_t MAX_NEIGHBORHOOD_SIZE = SMALLEST_TYPE_MAX_BITS_SUPPORTED - NB_RESERVED_BITS_IN_NEIGHBORHOOD
 

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: