Atomic Operations Library - Cppreference
Atomic Operations Library - Cppreference
If the macro cons tant __STDC_NO_ATOMICS__(C11) is dened by the compiler, the header
<stdatomic.h>, the keyword _Atomic, and all of the names lis ted here are not provided.
Types
Dened in header <stdatomic.h>
Macros
Dened in header <stdatomic.h>
ATOMIC_BOOL_LOCK_FREE
ATOMIC_CHAR_LOCK_FREE
ATOMIC_CHAR16_T_LOCK_FREE
ATOMIC_CHAR32_T_LOCK_FREE
ATOMIC_WCHAR_T_LOCK_FREE
indicates that the given atomic type is lock-free
(C11)
(mac ro c onstant)
ATOMIC_SHORT_LOCK_FREE
ATOMIC_INT_LOCK_FREE
ATOMIC_LONG_LOCK_FREE
ATOMIC_LLONG_LOCK_FREE
ATOMIC_POINTER_LOCK_FREE
ATOMIC_FLAG_INIT(C11)
ATOMIC_VAR_INIT(C11)
kill_dependency(C11)
Functions
Dened in header <stdatomic.h>
atomic_flag_test_and_set
(C11)
atomic_flag_test_and_set_explicit
atomic_flag_clear
(C11)
atomic_flag_clear_explicit
atomic_init(C11)
atomic_is_lock_free(C11)
atomic_store
(C11)
atomic_store_explicit
atomic_load
(C11)
atomic_load_explicit
atomic_exchange
(C11)
atomic_exchange_explicit
atomic_compare_exchange_strong
atomic_compare_exchange_strong_explicit
(C11)
atomic_compare_exchange_weak
atomic_compare_exchange_weak_explicit
atomic_fetch_add
(C11)
atomic_fetch_add_explicit
atomic addition
atomic_fetch_sub
(C11)
atomic_fetch_sub_explicit
atomic s ubtraction
atomic_fetch_or
(C11)
atomic_fetch_or_explicit
atomic logical OR
atomic_fetch_xor
(C11)
atomic_fetch_xor_explicit
(func tion)
(func tion)
(func tion)
(func tion)
(func tion)
(func tion)
(func tion)
(func tion)
atomic_fetch_and
(C11)
atomic_fetch_and_explicit
atomic_thread_fence(C11)
(func tion)
atomic_signal_fence(C11)
Types
The s tandard library oers convenience typedefs for the core language atomic types .
Typedef name
atomic_bool
_Atomic _Bool
atomic_char
_Atomic char
atomic_schar
atomic_uchar
atomic_short
_Atomic short
atomic_ushort
atomic_int
_Atomic int
atomic_uint
atomic_long
_Atomic long
atomic_ulong
atomic_llong
atomic_ullong
atomic_char16_t
_Atomic char16_t
atomic_char32_t
_Atomic char32_t
atomic_wchar_t
_Atomic wchar_t
atomic_int_least8_t
_Atomic int_least8_t
atomic_uint_least8_t
_Atomic uint_least8_t
atomic_int_least16_t
_Atomic int_least16_t
_Atomic int_least32_t
_Atomic int_least64_t
_Atomic int_fast8_t
atomic_uint_fast8_t
_Atomic uint_fast8_t
atomic_int_fast16_t
_Atomic int_fast16_t
atomic_uint_fast16_t
_Atomic uint_fast16_t
atomic_int_fast32_t
_Atomic int_fast32_t
atomic_uint_fast32_t
_Atomic uint_fast32_t
atomic_int_fast64_t
_Atomic int_fast64_t
atomic_uint_fast64_t
_Atomic uint_fast64_t
atomic_intptr_t
_Atomic intptr_t
atomic_uintptr_t
_Atomic uintptr_t
atomic_size_t
_Atomic size_t
atomic_ptrdiff_t
_Atomic ptrdiff_t
atomic_intmax_t
_Atomic intmax_t
atomic_uintmax_t
_Atomic uintmax_t
References
C11 s tandard (ISO/IEC 9899:2011):
7.17 Atomics <s tdatomic.h> (p: 273-286)
See also
C++ documentation for Atomic operations library
Retrieved from "http://en.c ppreferenc e.c om/mwiki/index.php?title=c /atomic & oldid=83361"