cds  2.3.2
cds Namespace Reference

The main library namespace. More...


 Different approaches and techniques for supporting high-concurrent data structure.
 Atomic primitives.
 Different backoff schemes.
 Bit operations.
 Standard (non-intrusive) containers.
 C++11 Atomic library support.
 Different safe memory reclamation schemas (garbage collectors)
 Intrusive containers.
 Framework to define template options.
 OS specific wrappers.
 Synchronization primitives.
 Threading support.
 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...


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)

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.

nFeatureFlagsfor future use, must be zero.

◆ Terminate()

static void cds::Terminate ( )

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 

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.

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

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