cds
2.3.2
|
FeldmanHashSet
related definitions
More...
Data Structures | |
struct | make_traits |
Metafunction converting option list to feldman_hashset::traits . More... | |
struct | traits |
FeldmanHashSet traits More... | |
Typedefs | |
template<typename Accessor > | |
using | hash_accessor = cds::intrusive::feldman_hashset::hash_accessor< Accessor > |
Hash accessor option. More... | |
template<size_t Size> | |
using | hash_size = cds::intrusive::feldman_hashset::hash_size< Size > |
Hash size option. More... | |
template<typename Splitter > | |
using | hash_splitter = cds::intrusive::feldman_hashset::hash_splitter< Splitter > |
Hash splitter. More... | |
template<typename EventCounter = cds::atomicity::event_counter> | |
using | stat = cds::intrusive::feldman_hashset::stat< EventCounter > |
FeldmanHashSet internal statistics, see cds::intrusive::feldman_hashset::stat | |
typedef cds::intrusive::feldman_hashset::empty_stat | empty_stat |
FeldmanHashSet 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 |
FeldmanHashSet level statistics | |
FeldmanHashSet
related definitions
using cds::container::feldman_hashset::hash_accessor = typedef cds::intrusive::feldman_hashset::hash_accessor< Accessor > |
Hash accessor option.
It is most-important feature of FeldmanHashSet
. That functor must return a reference to fixed-sized hash value of data node. The return value of that functor specifies the type of hash value.
Example:
using cds::container::feldman_hashset::hash_size = typedef cds::intrusive::feldman_hashset::hash_size< Size > |
Hash size option.
By default, the size of hash value is sizeof( hash_type )
. Sometimes it is not correct, for example, for that 6-byte struct static_assert
will be thrown:
For that case you can specify hash_size
explicitly.
Value 0
means sizeof( hash_type )
.
using cds::container::feldman_hashset::hash_splitter = typedef cds::intrusive::feldman_hashset::hash_splitter< Splitter > |
Hash splitter.
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.