cds  2.3.2
cds::opt Namespace Reference

Framework to define template options. More...

Namespaces

 v
 Predefined options value.
 

Data Structures

struct  alignment
 [value-option] Alignment option setter More...
 
struct  allocator
 [type-option] Option setter for an allocator More...
 
struct  back_off
 [type-option] Back-off strategy option setter More...
 
struct  buffer
 [type-option] Option setter for user-provided plain buffer More...
 
struct  compare
 [type-option] Option setter for key comparing More...
 
struct  copy_policy
 Copy policy option. More...
 
struct  elimination_backoff
 Elimination back-off strategy option setter More...
 
struct  enable_elimination
 Enable elimination back-off for the container. More...
 
struct  equal_to
 [type-option] Option setter for opt::equal_to predicate More...
 
struct  find_option
 Metafunction to find What option in Options list. More...
 
struct  find_type_traits
 Metafunction to find opt::type_traits option in Options list. More...
 
struct  free_list
 [type-option] Free-list implementation More...
 
struct  gc
 [type-option] Option setter for garbage collecting schema used More...
 
struct  hash
 [type-option] Option setter for a hash function More...
 
struct  hash< std::tuple< Functors... > >
 Multi-functor hash option setter - specialization for std::tuple. More...
 
struct  item_counter
 [type-option] Option setter for item counting More...
 
struct  less
 [type-option] Option setter for less predicate More...
 
struct  lock_type
 [type-option] Option setter specifies lock class More...
 
struct  make_options
 make_options metafunction More...
 
struct  memory_model
 [type-option] Option setter for C++ memory model More...
 
struct  move_policy
 Move policy option. More...
 
struct  mutex_policy
 [type-option] Concurrent access policy More...
 
struct  node_allocator
 [type-option] Option setter for node allocator More...
 
struct  none
 Type indicates that an option is not specified and the default one should be used. More...
 
struct  padding
 [value-option] Padding option setter More...
 
struct  permutation_generator
 [type-option] Random permutation generator option setter More...
 
struct  random_engine
 [type-option] Random number generator More...
 
struct  rcu_check_deadlock
 [type-option] RCU check deadlock option setter More...
 
struct  resizing_policy
 Resizing policy option. More...
 
struct  select
 Select option metafunction. More...
 
struct  select_default
 Metafunction for selecting default option value. More...
 
struct  sort
 [value-option] Enable sorting More...
 
struct  stat
 [type-option] Generic option setter for statisitcs More...
 
struct  swap_policy
 Swap policy option. More...
 
struct  sync_monitor
 [type-option] Monitor type setter More...
 
struct  tag
 [type-option] Option setter specifies a tag More...
 
struct  type_traits
 [type-option] Base type traits option setter More...
 
struct  value
 Metafunction to select option value. More...
 
struct  value_cleaner
 [type-option] value cleaning More...
 
struct  wait_strategy
 Wait strategy option for flat_combining::kernel. More...
 

Typedefs

template<typename... Functors>
using hash_tuple = details::hash_list< std::tuple< Functors... > >
 Declare tuple for hash functors Functors.
 

Enumerations

enum  special_alignment { no_special_alignment = 0, cache_line_alignment = 1 }
 Special alignment constants for cds::opt::alignment option. More...
 
enum  special_padding { no_special_padding = 0, cache_line_padding = 1, padding_tiny_data_only = 0x80000000 }
 Special padding constants for cds::opt::padding option. More...
 

Detailed Description

Framework to define template options.

There are two kind of options:

  • type-option - option that determines a data type. The template argument Type of the option is a type.
  • value-option - option that determines a value. The template argument Value of the option is a value.

Enumeration Type Documentation

◆ special_alignment

Special alignment constants for cds::opt::alignment option.

Enumerator
no_special_alignment 

no special alignment

cache_line_alignment 

use cache line size defined in cds/user_setup/cache_line.h

◆ special_padding

Special padding constants for cds::opt::padding option.

Enumerator
no_special_padding 

no special padding

cache_line_padding 

use cache line size defined in cds/user_setup/cache_line.h

padding_tiny_data_only 

Apply padding only for tiny data when data size is less than required padding.

The flag means that if your data size is less than the cacheline size, the padding is applyed. Otherwise no padding will be applyed.

This flag is applyed for padding value:


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