contained type | atomic type | description |
---|---|---|
bool | atomic_bool | |
char | atomic_char | atomics for fundamental integral types. These are either typedefs of the corresponding full specialization of the atomic class template or a base class of such specialization. |
signed char | atomic_schar | |
unsigned char | atomic_uchar | |
short | atomic_short | |
unsigned short | atomic_ushort | |
int | atomic_int | |
unsigned int | atomic_uint | |
long | atomic_long | |
unsigned long | atomic_ulong | |
long long | atomic_llong | |
unsigned long long | atomic_ullong | |
wchar_t | atomic_wchar_t | |
char16_t | atomic_char16_t | |
char32_t | atomic_char32_t | |
intmax_t | atomic_intmax_t | atomics for width-based integrals (those defined in <cinttypes>). Each of these is either an alias of one of the above atomics for fundamental integral types or of a full specialization of the atomic class template with an extended integral type. Where N is one in 8, 16, 32, 64, or any other type width supported by the library. |
uintmax_t | atomic_uintmax_t | |
int_least N_t | atomic_int_least N_t | |
uint_least N_t | atomic_uint_least N_t | |
int_fast N_t | atomic_int_fast N_t | |
uint_fast N_t | atomic_uint_fast N_t | |
intptr_t | atomic_intptr_t | |
uintptr_t | atomic_uintptr_t | |
size_t | atomic_size_t | |
ptrdiff_t | atomic_ptrdiff_t |
macro | relative to types | defined as |
---|---|---|
ATOMIC_BOOL_LOCK_FREE | bool | 0 if the types are never lock-free.1 it the types are sometimes lock-free.2 if the types are always lock-free.Consistent with the value returned by atomic::is_lock_free. |
ATOMIC_CHAR_LOCK_FREE | char signed char unsigned char | |
ATOMIC_SHORT_LOCK_FREE | short unsigned short | |
ATOMIC_INT_LOCK_FREE | int unsigned int | |
ATOMIC_LONG_LOCK_FREE | long unsigned long | |
ATOMIC_LLONG_LOCK_FREE | long long unsigned long long | |
ATOMIC_WCHAR_T_LOCK_FREE | wchar_t | |
ATOMIC_CHAR16_T_LOCK_FREE | char16_t | |
ATOMIC_CHAR32_T_LOCK_FREE | char32_t | |
ATOMIC_POINTER_LOCK_FREE | U* (for any type U) |