cds  2.3.2
cds::intrusive::skip_list::traits Struct Reference

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

Detailed Description

SkipListSet traits

Member Typedef Documentation

◆ allocator

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

back-off strategy

If the option is not specified, the cds::backoff::Default is used.

◆ compare

Key comparison functor.

No default functor is provided. If the option is not specified, the less is used.

◆ disposer

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

◆ item_counter

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.

◆ less

specifies binary predicate used for key compare.

Default is std::less<T>.

◆ memory_model

C++ memory ordering model.

List of available memory ordering see opt::memory_model

◆ random_level_generator

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_check_deadlock

RCU deadlock checking policy (only for RCU-based SkipListSet)

List of available options see opt::rcu_check_deadlock

◆ stat

Internal statistics.

By default, internal statistics is disabled (skip_list::empty_stat). Use skip_list::stat to enable it.


The documentation for this struct was generated from the following file:

cds 2.3.2 Developed by Maxim Khizhinsky aka khizmax and other contributors 2007 - 2017
Autogenerated Sun Dec 31 2017 12:10:47 by Doxygen 1.8.13