cds  2.3.1
cds Namespace Reference

The main library namespace. More...

Namespaces

 algo
 Different approaches and techniques for supporting high-concurrent data structure.
 
 atomicity
 Atomic primitives.
 
 backoff
 Different backoff schemes.
 
 bitop
 Bit operations.
 
 container
 Standard (non-intrusive) containers.
 
 cxx11_atomic
 C++11 Atomic library support.
 
 gc
 Different safe memory reclamation schemas (garbage collectors)
 
 intrusive
 Intrusive containers.
 
 opt
 Framework to define template options.
 
 OS
 OS specific wrappers.
 
 sync
 Synchronization primitives.
 
 threading
 Threading support.
 
 urcu
 User-space Read-Copy Update (URCU) namespace.
 

Data Structures

struct  any_type
 any_type is used as a placeholder for auto-calculated type (usually in rebind templates) More...
 
struct  bounded_container
 Bounded container. More...
 
struct  epoch_retired_ptr
 Epoch-based retired ptr. More...
 

Functions

template<typename E >
static CDS_NORETURN void throw_exception (E &&exception, char const *file, int line)
 Function to throw an exception. More...
 
static void Initialize (unsigned int nFeatureFlags=0)
 Initialize CDS library. More...
 
static void Terminate ()
 Terminate CDS library. More...
 

Detailed Description

The main library namespace.

Function Documentation

◆ Initialize()

static void cds::Initialize ( unsigned int  nFeatureFlags = 0)
inlinestatic

Initialize CDS library.

The function initializes CDS library framework. Before usage of CDS library features your application must initialize it by calling Initialize() function, see how to use the library.

You can call Initialize several times, only first call is significant others will be ignored. To terminate the CDS library correctly, each call to Initialize() must be balanced by a corresponding Terminate() call.

Note, that this function does not initialize garbage collectors. To use GC you need you should call GC-specific constructor function to initialize internal structures of GC. See cds::gc for details.

Parameters
nFeatureFlagsfor future use, must be zero.

◆ Terminate()

static void cds::Terminate ( )
inlinestatic

Terminate CDS library.

This function terminates CDS library. After Terminate() calling many features of the library are unavailable. This call should be the last call of CDS library in your application, see how to use the library.

◆ throw_exception()

template<typename E >
static CDS_NORETURN void cds::throw_exception ( E &&  exception,
char const *  file,
int  line 
)
inlinestatic

Function to throw an exception.

If you compile your code with exception enabled, throw_exception() function throws the exception.

If exception is disabled, throw_exception() prints an exception message to standard output and call abort().

You can supply your own cds::throw_exception() function; for that you should specify -DCDS_USER_DEFINED_THROW_EXCEPTION in compiler command line.

Note
throw_exception() never returns. If the user-defined throw_exception() returns, the behavior is undefined.
Parameters
exceptionException to throw
fileSource filename
lineFile line

cds 2.3.1 Developed by Maxim Khizhinsky aka khizmax 2007 - 2017
Autogenerated Fri Sep 1 2017 08:46:52 by Doxygen 1.8.13