cds
2.3.2
|
FeldmanHashMap
related definitions
More...
Data Structures | |
struct | make_traits |
Metafunction converting option list to feldman_hashmap::traits . More... | |
struct | traits |
FeldmanHashMap traits More... | |
Typedefs | |
template<typename EventCounter = cds::atomicity::event_counter> | |
using | stat = cds::intrusive::feldman_hashset::stat< EventCounter > |
FeldmanHashMap internal statistics, see cds::intrusive::feldman_hashset::stat | |
typedef cds::intrusive::feldman_hashset::empty_stat | empty_stat |
FeldmanHashMap empty internal statistics | |
template<typename T > | |
using | bitwise_compare = cds::intrusive::feldman_hashset::bitwise_compare< T > |
Bit-wise memcmp-based comparator for hash value T . | |
typedef cds::intrusive::feldman_hashset::level_statistics | level_statistics |
FeldmanHashMap level statistics | |
template<size_t Size> | |
using | hash_size = cds::intrusive::feldman_hashset::hash_size< Size > |
Key size option. More... | |
template<typename Splitter > | |
using | hash_splitter = cds::intrusive::feldman_hashset::hash_splitter< Splitter > |
Hash splitter option. More... | |
FeldmanHashMap
related definitions
using cds::container::feldman_hashmap::hash_size = typedef cds::intrusive::feldman_hashset::hash_size< Size > |
Key size option.
By default, the size of hash value is sizeof( hash_type )
where hash_type
is type of hash()
result or sizeof( key )
if you use fixed-sized key.
Sometimes that size is wrong, for example, for that 6-byte key:
Here sizeof( key_type ) == 8
so static_assert
will be thrown.
For that case you can specify hash_size
explicitly.
Value 0
means auto-calculated sizeof( key_type )
.
using cds::container::feldman_hashmap::hash_splitter = typedef cds::intrusive::feldman_hashset::hash_splitter< Splitter > |
Hash splitter option.
This trait specifies hash bit-string splitter algorithm. By default, cds::algo::number_splitter
is used if HashType
is a number, cds::algo::split_bitstring
otherwise.