cds
2.3.2
|
Type traits for CuckooSet and CuckooMap classes. More...
#include <cds/container/details/cuckoo_base.h>
Public Types | |
typedef cds::opt::none | hash |
Hash functors tuple. More... | |
typedef cuckoo::striping | mutex_policy |
Concurrent access policy. More... | |
typedef opt::none | equal_to |
Key equality functor. More... | |
typedef opt::none | compare |
Key comparison functor. More... | |
typedef opt::none | less |
specifies binary predicate used for key comparison. More... | |
typedef cds::intrusive::cuckoo::traits::item_counter | item_counter |
Item counter. More... | |
typedef CDS_DEFAULT_ALLOCATOR | allocator |
Allocator type. More... | |
typedef opt::none | node_allocator |
Node allocator type. More... | |
typedef cuckoo::list | probeset_type |
Probe-set type. See probeset_type option for explanation. | |
typedef empty_stat | stat |
Internal statistics. | |
Static Public Attributes | |
static bool const | store_hash = false |
Store hash value into items. See cuckoo::store_hash for explanation. | |
Allocator type.
The allocator type for allocating bucket tables. Default is CDS_DEFAULT_ALLOCATOR
that is std::allocator
Key comparison functor.
No default functor is provided. If the option is not specified, the less
is used.
Key equality functor.
Default is std::equal_to<T>
Hash functors tuple.
This is mandatory type and has no predefined one.
At least, two hash functors should be provided. All hash functor should be orthogonal (different): for each i,j: i != j => h[i](x) != h[j](x)
. The hash functors are defined as std::tuple< H1, H2, ... Hn >
: @code cds::opt::hash< std::tuple< h1, h2 > > @endcode The number of hash functors specifies the number k
- the count of hash tables in cuckoo hashing.
To specify hash tuple in traits you should use cds::opt::hash_tuple
:
Item counter.
The type for item counting feature. Default is cds::atomicity::item_counter
Only atomic item counter type is allowed.
specifies binary predicate used for key comparison.
Default is std::less<T>
.
Concurrent access policy.
Available opt::mutex_policy types:
Default is cuckoo::striping.
Node allocator type.
If this type is not set explicitly, the allocator type is used.