|
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.