cds  2.3.2
cds::container::feldman_hashmap Namespace Reference

FeldmanHashMap related definitions More...

Data Structures

struct  make_traits
 Metafunction converting option list to feldman_hashmap::traits. More...
struct  traits
 FeldmanHashMap traits More...


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

Detailed Description

FeldmanHashMap related definitions

Typedef Documentation

◆ hash_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:

struct key_type {
uint32_t key;
uint16_t subkey;
static_assert( sizeof( key_type ) == 6, "Key type size mismatch" );

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

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

cds 2.3.2 Developed by Maxim Khizhinsky aka khizmax and other contributors 2007 - 2017
Autogenerated Sun Dec 31 2017 12:10:32 by Doxygen 1.8.13