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

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

cds 2.2.0 Developed by Maxim Khizhinsky aka khizmax 2007 - 2017
Autogenerated Wed Jan 4 2017 08:49:46 by Doxygen 1.8.12