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) | 
| Initialize an atomic variable.   | |
| #define ATOMIC_VAR_INIT | ( | x | ) | 
Initialize an atomic variable.
Usage (same syntax as the real C11 atomic initializer):
Definition at line 40 of file c11_atomics_compat.hpp.