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