cds
2.3.2
|
Metafunction converting option list to SkipListSet
traits.
More...
#include <cds/intrusive/details/skip_list_base.h>
Public Types | |
typedef implementation_defined | type |
Metafunction result. | |
Metafunction converting option list to SkipListSet
traits.
Options
are:
opt::hook
- hook used. Possible values are: skip_list::base_hook
, skip_list::member_hook
, skip_list::traits_hook
. If the option is not specified, skip_list::base_hook<>
and gc::HP
is used.opt::compare
- key comparison functor. No default functor is provided. If the option is not specified, the opt::less
is used.opt::less
- specifies binary predicate used for key comparison. Default is std::less<T>
.opt::disposer
- the functor used for dispose removed items. Default is opt::v::empty_disposer
. Due the nature of GC schema the disposer may be called asynchronously.opt::item_counter
- the type of item counting feature. Default is disabled, i.e. atomicity::empty_item_counter
. To enable it use atomicity::item_counter
or atomicity::cache_friendly_item_counter
opt::memory_model
- C++ memory ordering model. Can be opt::v::relaxed_ordering
(relaxed memory model, the default) or opt::v::sequential_consistent
(sequentially consisnent memory model).skip_list::random_level_generator
- random level generator. Can be skip_list::xor_shift
, skip_list::turbo32
(the default) or user-provided one. See skip_list::random_level_generator
option description for explanation.opt::allocator
- although the skip-list is an intrusive container, an allocator should be provided to maintain variable randomly-calculated height of the node since the node can contain up to 32 next pointers. The allocator option is used to allocate an array of next pointers for nodes which height is more than 1. Default is CDS_DEFAULT_ALLOCATOR.opt::back_off
- back-off strategy, default is cds::backoff::Default
.opt::stat
- internal statistics. By default, it is disabled (skip_list::empty_stat
). To enable it use skip_list::stat