cds
2.3.2
|
SkipListSet
traits
More...
#include <cds/intrusive/details/skip_list_base.h>
Public Types | |
typedef base_hook | hook |
Hook used. More... | |
typedef opt::none | compare |
Key comparison functor. More... | |
typedef opt::none | less |
specifies binary predicate used for key compare. More... | |
typedef opt::v::empty_disposer | disposer |
Disposer. More... | |
typedef atomicity::empty_item_counter | item_counter |
Item counter. More... | |
typedef opt::v::relaxed_ordering | memory_model |
C++ memory ordering model. More... | |
typedef turbo32 | random_level_generator |
Random level generator. More... | |
typedef CDS_DEFAULT_ALLOCATOR | allocator |
Allocator. More... | |
typedef cds::backoff::Default | back_off |
back-off strategy More... | |
typedef empty_stat | stat |
Internal statistics. More... | |
typedef opt::v::rcu_throw_deadlock | rcu_check_deadlock |
RCU deadlock checking policy (only for RCU-based SkipListSet) More... | |
SkipListSet
traits
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 specified is used to allocate an array of next pointers for nodes which height is more than 1.
back-off strategy
If the option is not specified, the cds::backoff::Default
is used.
Key comparison functor.
No default functor is provided. If the option is not specified, the less
is used.
typedef opt::v::empty_disposer cds::intrusive::skip_list::traits::disposer |
Disposer.
The functor used for dispose removed items. Default is opt::v::empty_disposer
.
Hook used.
Possible values are: skip_list::base_hook
, skip_list::member_hook
, skip_list::traits_hook
.
Item counter.
The type for item counting feature. By default, item counting is disabled (atomicity::empty_item_counter
), atomicity::item_counter
or atomicity::cache_friendly_item_counter
enables it.
specifies binary predicate used for key compare.
Default is std::less<T>
.
C++ memory ordering model.
List of available memory ordering see opt::memory_model
Random level generator.
The random level generator is an important part of skip-list algorithm. The node height in the skip-list have a probabilistic distribution where half of the nodes that have level i
pointers also have level i+1
pointers (i = 0..30). So, the height of a node is in range [0..31].
See skip_list::random_level_generator
option setter.
RCU deadlock checking policy (only for RCU-based SkipListSet)
List of available options see opt::rcu_check_deadlock
Internal statistics.
By default, internal statistics is disabled (skip_list::empty_stat
). Use skip_list::stat
to enable it.