cds  2.3.2
cds::cxx11_atomic Namespace Reference

C++11 Atomic library support. More...

Detailed Description

C++11 Atomic library support.

libcds can use the following implementations of the atomics:

  • STL <atomic>. This is used by default
  • boost.atomic for boost 1.54 and above. To use it you should define CDS_USE_BOOST_ATOMIC for your compiler invocation, for example, for gcc specify -DCDS_USE_BOOST_ATOMIC in command line
  • libcds implementation of atomic operation according to C++11 standard as specified in N3242, p.29. libcds implementation is not the full standard compliant, it provides only C++ part of standard, for example, libcds has no static initialization of the atomic variables and some other C features. However, that imlementation is enough for the library purposes. Supported architecture: x86, amd64, ia64 (Itanium) 64bit, 64bit Sparc. To use libcds atomic you should define CDS_USE_LIBCDS_ATOMIC in the compiler command line (-DCDS_USE_LIBCDS_ATOMIC for gcc/clang).

    For Clang compiler libcds doesn't use native libc++ <atomic> due some problems. Instead, libcds atomic is used by default, or you can try to use boost.atomic.

    The library defines atomics alias for atomic namespace:

    • namespace atomics = std for STL
    • namespace atomics = boost for boost.atomic
    • namespace atomics = cds::cxx11_atomic for library-provided atomic implementation

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