C++ compatibility of default C11 atomics types. More...
C++ compatibility of default C11 atomics types.
This module provides opaque typedefs 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 structs 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.