C++ compatibility of default C11 atomics types. More...
C++ compatibility of default C11 atomics types.
This module provides opaque typedef
s for each standard C11 atomic type with the same size and alignment requirements. The contents of types are not accessible to C++ code, but this allows struct
s to be defined with the same memory layout as the C version, so that they can be allocated from C++.
Files | |
file | c11_atomics_compat.hpp |
C++ compatibility of default C11 atomics types. | |
Data Structures | |
struct | atomic_bool |
Type with the same alignment and size as atomic_bool More... | |
struct | atomic_char |
Type with the same alignment and size as atomic_char More... | |
struct | atomic_schar |
Type with the same alignment and size as atomic_schar More... | |
struct | atomic_uchar |
Type with the same alignment and size as atomic_uchar More... | |
struct | atomic_short |
Type with the same alignment and size as atomic_short More... | |
struct | atomic_ushort |
Type with the same alignment and size as atomic_ushort More... | |
struct | atomic_int |
Type with the same alignment and size as atomic_int More... | |
struct | atomic_uint |
Type with the same alignment and size as atomic_uint More... | |
struct | atomic_long |
Type with the same alignment and size as atomic_long More... | |
struct | atomic_ulong |
Type with the same alignment and size as atomic_ulong More... | |
struct | atomic_llong |
Type with the same alignment and size as atomic_llong More... | |
struct | atomic_ullong |
Type with the same alignment and size as atomic_ullong More... | |
struct | atomic_int_least8_t |
Type with the same alignment and size as atomic_int_least8_t More... | |
struct | atomic_uint_least8_t |
Type with the same alignment and size as atomic_uint_least8_t More... | |
struct | atomic_int_least16_t |
Type with the same alignment and size as atomic_int_least16_t More... | |
struct | atomic_uint_least16_t |
Type with the same alignment and size as atomic_uint_least16_t More... | |
struct | atomic_int_least32_t |
Type with the same alignment and size as atomic_int_least32_t More... | |
struct | atomic_uint_least32_t |
Type with the same alignment and size as atomic_uint_least32_t More... | |
struct | atomic_int_least64_t |
Type with the same alignment and size as atomic_int_least64_t More... | |
struct | atomic_uint_least64_t |
Type with the same alignment and size as atomic_uint_least64_t More... | |
struct | atomic_int_fast8_t |
Type with the same alignment and size as atomic_int_fast8_t More... | |
struct | atomic_uint_fast8_t |
Type with the same alignment and size as atomic_uint_fast8_t More... | |
struct | atomic_int_fast16_t |
Type with the same alignment and size as atomic_int_fast16_t More... | |
struct | atomic_uint_fast16_t |
Type with the same alignment and size as atomic_uint_fast16_t More... | |
struct | atomic_int_fast32_t |
Type with the same alignment and size as atomic_int_fast32_t More... | |
struct | atomic_uint_fast32_t |
Type with the same alignment and size as atomic_uint_fast32_t More... | |
struct | atomic_int_fast64_t |
Type with the same alignment and size as atomic_int_fast64_t More... | |
struct | atomic_uint_fast64_t |
Type with the same alignment and size as atomic_uint_fast64_t More... | |
struct | atomic_intptr_t |
Type with the same alignment and size as atomic_intptr_t More... | |
struct | atomic_uintptr_t |
Type with the same alignment and size as atomic_uintptr_t More... | |
struct | atomic_size_t |
Type with the same alignment and size as atomic_size_t More... | |
struct | atomic_intmax_t |
Type with the same alignment and size as atomic_intmax_t More... | |
struct | atomic_uintmax_t |
Type with the same alignment and size as atomic_uintmax_t More... | |
Macros | |
#define | ATOMIC_VAR_INIT(x) { x } |
Initialize an atomic variable. More... | |
#define ATOMIC_VAR_INIT | ( | x | ) | { x } |
Initialize an atomic variable.
Usage (same syntax as the real C11 atomic initializer):
Definition at line 40 of file c11_atomics_compat.hpp.