NebulaStream
0.6.213
NebulaStream is a data and application management framework for the internet of things
|
#include <libcuckoo_bucket_container.hh>
Classes | |
class | bucket |
Public Types | |
using | key_type = Key |
using | mapped_type = T |
using | value_type = std::pair< const Key, T > |
using | allocator_type = typename traits_::allocator_type |
using | partial_t = Partial |
using | size_type = typename traits_::size_type |
using | reference = value_type & |
using | const_reference = const value_type & |
using | pointer = typename traits_::pointer |
using | const_pointer = typename traits_::const_pointer |
Friends | |
template<typename ThisKey , typename ThisT > | |
std::enable_if< std::is_trivial< ThisKey >::value &&std::is_trivial< ThisT >::value, std::ostream & >::type | operator<< (std::ostream &os, const libcuckoo_bucket_container< ThisKey, ThisT, Allocator, Partial, SLOT_PER_BUCKET > &bc) |
template<typename ThisKey , typename ThisT > | |
std::enable_if< std::is_trivial< ThisKey >::value &&std::is_trivial< ThisT >::value, std::istream & >::type | operator>> (std::istream &is, libcuckoo_bucket_container< ThisKey, ThisT, Allocator, Partial, SLOT_PER_BUCKET > &bc) |
libcuckoo_bucket_container manages storage of key-value pairs for the table. It stores the items inline in uninitialized memory, and keeps track of which slots have live data and which do not. It also stores a partial hash for each live key. It is sized by powers of two.
Key | type of keys in the table |
T | type of values in the table |
Allocator | type of key-value pair allocator |
Partial | type of partial keys |
SLOT_PER_BUCKET | number of slots for each bucket in the table |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::allocator_type = typename traits_::allocator_type |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::const_pointer = typename traits_::const_pointer |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::const_reference = const value_type & |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::key_type = Key |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::mapped_type = T |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::partial_t = Partial |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::pointer = typename traits_::pointer |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::reference = value_type & |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::size_type = typename traits_::size_type |
using libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::value_type = std::pair<const Key, T> |
|
inline |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::size(), and magic_enum::detail::value().
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::eraseKV(), libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::bucket::occupied(), libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::size(), and magic_enum::detail::value().
|
inlinenoexcept |
|
inline |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::bucket::occupied().
Referenced by libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::clear().
|
inline |
Referenced by cuckoohash_map< Key, T, Hash, KeyEqual, Allocator, SLOT_PER_BUCKET >::get_allocator().
|
inline |
Referenced by cuckoohash_map< Key, T, Hash, KeyEqual, Allocator, SLOT_PER_BUCKET >::hashpower(), libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::operator=(), libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::size(), and libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::swap().
|
inline |
|
inline |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::hashpower().
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::bucket::occupied(), and libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::bucket::partial().
|
inline |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::hashpower().
Referenced by cuckoohash_map< Key, T, Hash, KeyEqual, Allocator, SLOT_PER_BUCKET >::bucket_count(), libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::clear(), cuckoohash_map< Key, T, Hash, KeyEqual, Allocator, SLOT_PER_BUCKET >::locked_table::const_iterator::end_pos(), and libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::libcuckoo_bucket_container().
|
inlinenoexcept |
References libcuckoo_bucket_container< Key, T, Allocator, Partial, SLOT_PER_BUCKET >::hashpower(), and std::swap().
Referenced by cuckoohash_map< Key, T, Hash, KeyEqual, Allocator, SLOT_PER_BUCKET >::swap().
|
friend |
|
friend |