cds
2.3.2
|
Metafunction converting option list to CuckooSet/CuckooMap traits. More...
#include <cds/container/details/cuckoo_base.h>
Public Types | |
typedef cds::opt::make_options< typename cds::opt::find_type_traits< cuckoo::traits, Options... >::type,Options... >::type | type |
Result of metafunction. | |
Metafunction converting option list to CuckooSet/CuckooMap traits.
Template argument list Options
... are:
opt::hash
- hash functor tuple, mandatory option. 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 passed as std::tuple< H1, H2, ... Hn >
. The number of hash functors specifies the number k
- the count of hash tables in cuckoo hashing.opt::mutex_policy
- concurrent access policy. Available policies: cuckoo::striping
, cuckoo::refinable
. Default is cuckoo::striping
.opt::equal_to
- key equality functor like std::equal_to
. If this functor is defined then the probe-set will be unordered. If opt::compare
or opt::less
option is specified too, then the probe-set will be ordered and opt::equal_to
will be ignored.opt::compare
- key comparison functor. No default functor is provided. If the option is not specified, the opt::less
is used. If opt::compare
or opt::less
option is specified, then the probe-set will be ordered.opt::less
- specifies binary predicate used for key comparison. Default is std::less<T>
. If opt::compare
or opt::less
option is specified, then the probe-set will be ordered.opt::item_counter
- the type of item counting feature. Default is opt::v::sequential_item_counter
.opt::allocator
- the allocator type using for allocating bucket tables. Default is CDS_DEFAULT_ALLOCATORopt::node_allocator
- the allocator type using for allocating set's items. If this option is not specified then the type defined in opt::allocator
option is used.cuckoo::store_hash
- this option reserves additional space in the node to store the hash value of the object once it's introduced in the container. When this option is used, the unordered container will store the calculated hash value in the node and rehashing operations won't need to recalculate the hash of the value. This option will improve the performance of unordered containers when rehashing is frequent or hashing the value is a slow operation. Default value is false
.cuckoo::list
or cuckoo::vector<Capacity>
, Default is cuckoo::list
.opt::stat
- internal statistics. Possibly types: cuckoo::stat
, cuckoo::empty_stat
. Default is cuckoo::empty_stat