Atomics

## Classes

struct | std::__atomic_base< _ITp >
struct | std::__atomic_base< _PTp * >
struct | std::__atomic_flag_base
struct | std::atomic< _Tp >
struct | std::atomic< _Tp * >
struct | std::atomic< bool >
struct | std::atomic< char >
struct | std::atomic< char16_t >
struct | std::atomic< char32_t >
struct | std::atomic< int >
struct | std::atomic< long >
struct | std::atomic< long long >
struct | std::atomic< short >
struct | std::atomic< signed char >
struct | std::atomic< unsigned char >
struct | std::atomic< unsigned int >
struct | std::atomic< unsigned long >
struct | std::atomic< unsigned long long >
struct | std::atomic< unsigned short >
struct | std::atomic< wchar_t >
struct | std::atomic_flag

## Macros

#define | ATOMIC_BOOL_LOCK_FREE
#define | ATOMIC_CHAR16_T_LOCK_FREE
#define | ATOMIC_CHAR32_T_LOCK_FREE
#define | ATOMIC_CHAR_LOCK_FREE
#define | ATOMIC_FLAG_INIT
#define | ATOMIC_INT_LOCK_FREE
#define | ATOMIC_LLONG_LOCK_FREE
#define | ATOMIC_LONG_LOCK_FREE
#define | ATOMIC_POINTER_LOCK_FREE
#define | ATOMIC_SHORT_LOCK_FREE
#define | ATOMIC_VAR_INIT(_VI)
#define | ATOMIC_WCHAR_T_LOCK_FREE

## Typedefs

typedef unsigned char | std::__atomic_flag_data_type
typedef __atomic_base< _Tp * > | std::atomic< _Tp * >::__base_type
typedef __atomic_base< char > | std::atomic< char >::__base_type
typedef __atomic_base< signed char > | std::atomic< signed char >::__base_type
typedef __atomic_base< unsigned char > | std::atomic< unsigned char >::__base_type
typedef __atomic_base< short > | std::atomic< short >::__base_type
typedef __atomic_base< unsigned short > | std::atomic< unsigned short >::__base_type
typedef __atomic_base< int > | std::atomic< int >::__base_type
typedef __atomic_base< unsigned int > | std::atomic< unsigned int >::__base_type
typedef __atomic_base< long > | std::atomic< long >::__base_type
typedef __atomic_base< unsigned long > | std::atomic< unsigned long >::__base_type
typedef __atomic_base< long long > | std::atomic< long long >::__base_type
typedef __atomic_base< unsigned long long > | std::atomic< unsigned long long >::__base_type
typedef __atomic_base< wchar_t > | std::atomic< wchar_t >::__base_type
typedef __atomic_base< char16_t > | std::atomic< char16_t >::__base_type
typedef __atomic_base< char32_t > | std::atomic< char32_t >::__base_type
typedef char | std::atomic< char >::__integral_type
typedef signed char | std::atomic< signed char >::__integral_type
typedef unsigned char | std::atomic< unsigned char >::__integral_type
typedef short | std::atomic< short >::__integral_type
typedef unsigned short | std::atomic< unsigned short >::__integral_type
typedef int | std::atomic< int >::__integral_type
typedef unsigned int | std::atomic< unsigned int >::__integral_type
typedef long | std::atomic< long >::__integral_type
typedef unsigned long | std::atomic< unsigned long >::__integral_type
typedef long long | std::atomic< long long >::__integral_type
typedef unsigned long long | std::atomic< unsigned long long >::__integral_type
typedef wchar_t | std::atomic< wchar_t >::__integral_type
typedef char16_t | std::atomic< char16_t >::__integral_type
typedef char32_t | std::atomic< char32_t >::__integral_type
typedef _Tp * | std::atomic< _Tp * >::__pointer_type
typedef atomic< bool > | std::atomic_bool
typedef atomic< char > | std::atomic_char
typedef atomic< char16_t > | std::atomic_char16_t
typedef atomic< char32_t > | std::atomic_char32_t
typedef atomic< int > | std::atomic_int
typedef atomic< int16_t > | std::atomic_int16_t
typedef atomic< int32_t > | std::atomic_int32_t
typedef atomic< int64_t > | std::atomic_int64_t
typedef atomic< int8_t > | std::atomic_int8_t
typedef atomic< int_fast16_t > | std::atomic_int_fast16_t
typedef atomic< int_fast32_t > | std::atomic_int_fast32_t
typedef atomic< int_fast64_t > | std::atomic_int_fast64_t
typedef atomic< int_fast8_t > | std::atomic_int_fast8_t
typedef atomic< int_least16_t > | std::atomic_int_least16_t
typedef atomic< int_least32_t > | std::atomic_int_least32_t
typedef atomic< int_least64_t > | std::atomic_int_least64_t
typedef atomic< int_least8_t > | std::atomic_int_least8_t
typedef atomic< intmax_t > | std::atomic_intmax_t
typedef atomic< intptr_t > | std::atomic_intptr_t
typedef atomic< long long > | std::atomic_llong
typedef atomic< long > | std::atomic_long
typedef atomic< ptrdiff_t > | std::atomic_ptrdiff_t
typedef atomic< signed char > | std::atomic_schar
typedef atomic< short > | std::atomic_short
typedef atomic< size_t > | std::atomic_size_t
typedef atomic< unsigned char > | std::atomic_uchar
typedef atomic< unsigned int > | std::atomic_uint
typedef atomic< uint16_t > | std::atomic_uint16_t
typedef atomic< uint32_t > | std::atomic_uint32_t
typedef atomic< uint64_t > | std::atomic_uint64_t
typedef atomic< uint8_t > | std::atomic_uint8_t
typedef atomic< uint_fast16_t > | std::atomic_uint_fast16_t
typedef atomic< uint_fast32_t > | std::atomic_uint_fast32_t
typedef atomic< uint_fast64_t > | std::atomic_uint_fast64_t
typedef atomic< uint_fast8_t > | std::atomic_uint_fast8_t
typedef atomic< uint_least16_t > | std::atomic_uint_least16_t
typedef atomic< uint_least32_t > | std::atomic_uint_least32_t
typedef atomic< uint_least64_t > | std::atomic_uint_least64_t
typedef atomic< uint_least8_t > | std::atomic_uint_least8_t
typedef atomic< uintmax_t > | std::atomic_uintmax_t
typedef atomic< uintptr_t > | std::atomic_uintptr_t
typedef atomic< unsigned long long > | std::atomic_ullong
typedef atomic< unsigned long > | std::atomic_ulong
typedef atomic< unsigned short > | std::atomic_ushort
typedef atomic< wchar_t > | std::atomic_wchar_t
typedef enum std::memory_order | std::memory_order

## Enumerations

enum | __memory_order_modifier { __memory_order_mask, __memory_order_modifier_mask, __memory_order_hle_acquire, __memory_order_hle_release }
enum | std::memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel, memory_order_seq_cst }

## Functions

constexpr | std::__atomic_base< _ITp >::__atomic_base (__int_type __i) noexcept
constexpr | std::__atomic_base< _PTp * >::__atomic_base (__pointer_type __p) noexcept
| std::__atomic_base< _ITp >::__atomic_base (const __atomic_base &)=delete
| std::__atomic_base< _PTp * >::__atomic_base (const __atomic_base &)=delete
constexpr | std::atomic< char >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< signed char >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< unsigned char >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< short >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< unsigned short >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< int >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< unsigned int >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< long >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< unsigned long >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< long long >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< unsigned long long >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< wchar_t >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< char16_t >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< char32_t >::atomic (__integral_type __i) noexcept
constexpr | std::atomic< _Tp * >::atomic (__pointer_type __p) noexcept
constexpr | std::atomic< _Tp >::atomic (_Tp __i) noexcept
constexpr | std::atomic< bool >::atomic (bool __i) noexcept
| std::atomic< bool >::atomic (const atomic &)=delete
| std::atomic< _Tp >::atomic (const atomic &)=delete
| std::atomic< _Tp * >::atomic (const atomic &)=delete
| std::atomic< char >::atomic (const atomic &)=delete
| std::atomic< signed char >::atomic (const atomic &)=delete
| std::atomic< unsigned char >::atomic (const atomic &)=delete
| std::atomic< short >::atomic (const atomic &)=delete
| std::atomic< unsigned short >::atomic (const atomic &)=delete
| std::atomic< int >::atomic (const atomic &)=delete
| std::atomic< unsigned int >::atomic (const atomic &)=delete
| std::atomic< long >::atomic (const atomic &)=delete
| std::atomic< unsigned long >::atomic (const atomic &)=delete
| std::atomic< long long >::atomic (const atomic &)=delete
| std::atomic< unsigned long long >::atomic (const atomic &)=delete
| std::atomic< wchar_t >::atomic (const atomic &)=delete
| std::atomic< char16_t >::atomic (const atomic &)=delete
| std::atomic< char32_t >::atomic (const atomic &)=delete
constexpr | std::atomic_flag::atomic_flag (bool __i) noexcept
| std::atomic_flag::atomic_flag (const atomic_flag &)=delete
| std::__attribute__ ((__always_inline__)) void atomic_thread_fence(memory_order __m) noexcept
| std::__atomic_base< _ITp >::__attribute__ ((__always_inline__)) void store(__int_type __i
| std::__atomic_base< _PTp * >::__attribute__ ((__always_inline__)) void store(__pointer_type __p
constexpr memory_order | std::__cmpexch_failure_order (memory_order __m) noexcept
constexpr memory_order | std::__cmpexch_failure_order2 (memory_order __m) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_strong (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_strong (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_strong_explicit (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_strong_explicit (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_weak (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_weak (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_weak_explicit (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept
template<typename _ITp >
bool | std::atomic_compare_exchange_weak_explicit (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept
template<typename _ITp >
_ITp | std::atomic_exchange (atomic< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_exchange (volatile atomic< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_exchange_explicit (atomic< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_exchange_explicit (volatile atomic< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_add (__atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_add (atomic< _ITp * > *__a, ptrdiff_t __d) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_add (volatile __atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_add (volatile atomic< _ITp * > *__a, ptrdiff_t __d) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_add_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_add_explicit (atomic< _ITp * > *__a, ptrdiff_t __d, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_add_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_add_explicit (volatile atomic< _ITp * > *__a, ptrdiff_t __d, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_and (__atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_and (volatile __atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_and_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_and_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_or (__atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_or (volatile __atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_or_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_or_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_sub (__atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_sub (atomic< _ITp * > *__a, ptrdiff_t __d) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_sub (volatile __atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_sub (volatile atomic< _ITp * > *__a, ptrdiff_t __d) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_sub_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_sub_explicit (atomic< _ITp * > *__a, ptrdiff_t __d, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_sub_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp * | std::atomic_fetch_sub_explicit (volatile atomic< _ITp * > *__a, ptrdiff_t __d, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_xor (__atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_xor (volatile __atomic_base< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_xor_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_fetch_xor_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) noexcept
void | std::atomic_flag_clear (atomic_flag *__a) noexcept
void | std::atomic_flag_clear (volatile atomic_flag *__a) noexcept
void | std::atomic_flag_clear_explicit (atomic_flag *__a, memory_order __m) noexcept
void | std::atomic_flag_clear_explicit (volatile atomic_flag *__a, memory_order __m) noexcept
bool | std::atomic_flag_test_and_set (atomic_flag *__a) noexcept
bool | std::atomic_flag_test_and_set (volatile atomic_flag *__a) noexcept
bool | std::atomic_flag_test_and_set_explicit (atomic_flag *__a, memory_order __m) noexcept
bool | std::atomic_flag_test_and_set_explicit (volatile atomic_flag *__a, memory_order __m) noexcept
template<typename _ITp >
void | std::atomic_init (atomic< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
void | std::atomic_init (volatile atomic< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
bool | std::atomic_is_lock_free (const atomic< _ITp > *__a) noexcept
template<typename _ITp >
bool | std::atomic_is_lock_free (const volatile atomic< _ITp > *__a) noexcept
template<typename _ITp >
_ITp | std::atomic_load (const atomic< _ITp > *__a) noexcept
template<typename _ITp >
_ITp | std::atomic_load (const volatile atomic< _ITp > *__a) noexcept
template<typename _ITp >
_ITp | std::atomic_load_explicit (const atomic< _ITp > *__a, memory_order __m) noexcept
template<typename _ITp >
_ITp | std::atomic_load_explicit (const volatile atomic< _ITp > *__a, memory_order __m) noexcept
template<typename _ITp >
void | std::atomic_store (atomic< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
void | std::atomic_store (volatile atomic< _ITp > *__a, _ITp __i) noexcept
template<typename _ITp >
void | std::atomic_store_explicit (atomic< _ITp > *__a, _ITp __i, memory_order __m) noexcept
template<typename _ITp >
void | std::atomic_store_explicit (volatile atomic< _ITp > *__a, _ITp __i, memory_order __m) noexcept
bool | std::atomic< _Tp * >::compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept
bool | std::atomic< _Tp * >::compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile noexcept
bool | std::atomic< _Tp * >::compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< _Tp * >::compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< _Tp >::compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< _Tp >::compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< _Tp >::compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) noexcept
bool | std::atomic< _Tp >::compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept
bool | std::atomic< bool >::compare_exchange_strong (bool &__i1, bool __i2, memory_order __m1, memory_order __m2) noexcept
bool | std::atomic< bool >::compare_exchange_strong (bool &__i1, bool __i2, memory_order __m1, memory_order __m2) volatile noexcept
bool | std::atomic< bool >::compare_exchange_strong (bool &__i1, bool __i2, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< bool >::compare_exchange_strong (bool &__i1, bool __i2, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< _Tp * >::compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept
bool | std::atomic< _Tp * >::compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile noexcept
bool | std::atomic< _Tp * >::compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< _Tp * >::compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< _Tp >::compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< _Tp >::compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< _Tp >::compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) noexcept
bool | std::atomic< _Tp >::compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept
bool | std::atomic< bool >::compare_exchange_weak (bool &__i1, bool __i2, memory_order __m1, memory_order __m2) noexcept
bool | std::atomic< bool >::compare_exchange_weak (bool &__i1, bool __i2, memory_order __m1, memory_order __m2) volatile noexcept
bool | std::atomic< bool >::compare_exchange_weak (bool &__i1, bool __i2, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< bool >::compare_exchange_weak (bool &__i1, bool __i2, memory_order __m=memory_order_seq_cst) volatile noexcept
__pointer_type | std::atomic< _Tp * >::exchange (__pointer_type __p, memory_order __m=memory_order_seq_cst) noexcept
__pointer_type | std::atomic< _Tp * >::exchange (__pointer_type __p, memory_order __m=memory_order_seq_cst) volatile noexcept
_Tp | std::atomic< _Tp >::exchange (_Tp __i, memory_order __m=memory_order_seq_cst) noexcept
_Tp | std::atomic< _Tp >::exchange (_Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< bool >::exchange (bool __i, memory_order __m=memory_order_seq_cst) noexcept
bool | std::atomic< bool >::exchange (bool __i, memory_order __m=memory_order_seq_cst) volatile noexcept
__pointer_type | std::atomic< _Tp * >::fetch_add (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) noexcept
__pointer_type | std::atomic< _Tp * >::fetch_add (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatile noexcept
__pointer_type | std::atomic< _Tp * >::fetch_sub (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) noexcept
__pointer_type | std::atomic< _Tp * >::fetch_sub (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatile noexcept
bool | std::atomic< bool >::is_lock_free () const noexcept
bool | std::atomic< _Tp >::is_lock_free () const noexcept
bool | std::__atomic_base< _ITp >::is_lock_free () const noexcept
bool | std::atomic< _Tp * >::is_lock_free () const noexcept
bool | std::__atomic_base< _PTp * >::is_lock_free () const noexcept
bool | std::atomic< bool >::is_lock_free () const volatile noexcept
bool | std::atomic< _Tp >::is_lock_free () const volatile noexcept
bool | std::__atomic_base< _ITp >::is_lock_free () const volatile noexcept
bool | std::atomic< _Tp * >::is_lock_free () const volatile noexcept
bool | std::__atomic_base< _PTp * >::is_lock_free () const volatile noexcept
template<typename _Tp >
_Tp | std::kill_dependency (_Tp __y) noexcept
bool | std::atomic< bool >::load (memory_order __m=memory_order_seq_cst) const noexcept
_Tp | std::atomic< _Tp >::load (memory_order __m=memory_order_seq_cst) const noexcept
__pointer_type | std::atomic< _Tp * >::load (memory_order __m=memory_order_seq_cst) const noexcept
bool | std::atomic< bool >::load (memory_order __m=memory_order_seq_cst) const volatile noexcept
_Tp | std::atomic< _Tp >::load (memory_order __m=memory_order_seq_cst) const volatile noexcept
__pointer_type | std::atomic< _Tp * >::load (memory_order __m=memory_order_seq_cst) const volatile noexcept
| std::__atomic_base< _ITp >::operator __int_type () const noexcept
| std::__atomic_base< _ITp >::operator __int_type () const volatile noexcept
| std::atomic< _Tp * >::operator __pointer_type () const noexcept
| std::__atomic_base< _PTp * >::operator __pointer_type () const noexcept
| std::atomic< _Tp * >::operator __pointer_type () const volatile noexcept
| std::__atomic_base< _PTp * >::operator __pointer_type () const volatile noexcept
| std::atomic< _Tp >::operator _Tp () const noexcept
| std::atomic< _Tp >::operator _Tp () const volatile noexcept
| std::atomic< bool >::operator bool () const noexcept
| std::atomic< bool >::operator bool () const volatile noexcept
constexpr memory_order | std::operator& (memory_order __m, __memory_order_modifier __mod)
__int_type | std::__atomic_base< _ITp >::operator&= (__int_type __i) noexcept
__int_type | std::__atomic_base< _ITp >::operator&= (__int_type __i) volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator++ () noexcept
__pointer_type | std::atomic< _Tp * >::operator++ () noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator++ () noexcept
__int_type | std::__atomic_base< _ITp >::operator++ () volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator++ () volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator++ () volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator++ (int) noexcept
__pointer_type | std::atomic< _Tp * >::operator++ (int) noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator++ (int) noexcept
__int_type | std::__atomic_base< _ITp >::operator++ (int) volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator++ (int) volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator++ (int) volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator+= (__int_type __i) noexcept
__int_type | std::__atomic_base< _ITp >::operator+= (__int_type __i) volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator+= (ptrdiff_t __d) noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator+= (ptrdiff_t __d) noexcept
__pointer_type | std::atomic< _Tp * >::operator+= (ptrdiff_t __d) volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator+= (ptrdiff_t __d) volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator-- () noexcept
__pointer_type | std::atomic< _Tp * >::operator-- () noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator-- () noexcept
__int_type | std::__atomic_base< _ITp >::operator-- () volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator-- () volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator-- () volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator-- (int) noexcept
__pointer_type | std::atomic< _Tp * >::operator-- (int) noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator-- (int) noexcept
__int_type | std::__atomic_base< _ITp >::operator-- (int) volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator-- (int) volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator-- (int) volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator-= (__int_type __i) noexcept
__int_type | std::__atomic_base< _ITp >::operator-= (__int_type __i) volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator-= (ptrdiff_t __d) noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator-= (ptrdiff_t __d) noexcept
__pointer_type | std::atomic< _Tp * >::operator-= (ptrdiff_t __d) volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator-= (ptrdiff_t __d) volatile noexcept
__int_type | std::__atomic_base< _ITp >::operator= (__int_type __i) noexcept
__int_type | std::__atomic_base< _ITp >::operator= (__int_type __i) volatile noexcept
__pointer_type | std::atomic< _Tp * >::operator= (__pointer_type __p) noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator= (__pointer_type __p) noexcept
__pointer_type | std::atomic< _Tp * >::operator= (__pointer_type __p) volatile noexcept
__pointer_type | std::__atomic_base< _PTp * >::operator= (__pointer_type __p) volatile noexcept
_Tp | std::atomic< _Tp >::operator= (_Tp __i) noexcept
_Tp | std::atomic< _Tp >::operator= (_Tp __i) volatile noexcept
bool | std::atomic< bool >::operator= (bool __i) noexcept
bool | std::atomic< bool >::operator= (bool __i) volatile noexcept
__atomic_base & | std::__atomic_base< _ITp >::operator= (const __atomic_base &) volatile=delete
__atomic_base & | std::__atomic_base< _PTp * >::operator= (const __atomic_base &) volatile=delete
__atomic_base & | std::__atomic_base< _ITp >::operator= (const __atomic_base &)=delete
__atomic_base & | std::__atomic_base< _PTp * >::operator= (const __atomic_base &)=delete
atomic & | std::atomic< bool >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< _Tp >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< _Tp * >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< char >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< signed char >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< unsigned char >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< short >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< unsigned short >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< int >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< unsigned int >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< long >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< unsigned long >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< long long >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< unsigned long long >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< wchar_t >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< char16_t >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< char32_t >::operator= (const atomic &) volatile=delete
atomic & | std::atomic< bool >::operator= (const atomic &)=delete
atomic & | std::atomic< _Tp >::operator= (const atomic &)=delete
atomic & | std::atomic< _Tp * >::operator= (const atomic &)=delete
atomic & | std::atomic< char >::operator= (const atomic &)=delete
atomic & | std::atomic< signed char >::operator= (const atomic &)=delete
atomic & | std::atomic< unsigned char >::operator= (const atomic &)=delete
atomic & | std::atomic< short >::operator= (const atomic &)=delete
atomic & | std::atomic< unsigned short >::operator= (const atomic &)=delete
atomic & | std::atomic< int >::operator= (const atomic &)=delete
atomic & | std::atomic< unsigned int >::operator= (const atomic &)=delete
atomic & | std::atomic< long >::operator= (const atomic &)=delete
atomic & | std::atomic< unsigned long >::operator= (const atomic &)=delete
atomic & | std::atomic< long long >::operator= (const atomic &)=delete
atomic & | std::atomic< unsigned long long >::operator= (const atomic &)=delete
atomic & | std::atomic< wchar_t >::operator= (const atomic &)=delete
atomic & | std::atomic< char16_t >::operator= (const atomic &)=delete
atomic & | std::atomic< char32_t >::operator= (const atomic &)=delete
atomic_flag & | std::atomic_flag::operator= (const atomic_flag &) volatile=delete
atomic_flag & | std::atomic_flag::operator= (const atomic_flag &)=delete
__int_type | std::__atomic_base< _ITp >::operator^= (__int_type __i) noexcept
__int_type | std::__atomic_base< _ITp >::operator^= (__int_type __i) volatile noexcept
constexpr memory_order | std::operator| (memory_order __m, __memory_order_modifier __mod)
__int_type | std::__atomic_base< _ITp >::operator|= (__int_type __i) noexcept
__int_type | std::__atomic_base< _ITp >::operator|= (__int_type __i) volatile noexcept
void | std::atomic< _Tp * >::store (__pointer_type __p, memory_order __m=memory_order_seq_cst) noexcept
void | std::atomic< _Tp * >::store (__pointer_type __p, memory_order __m=memory_order_seq_cst) volatile noexcept
void | std::atomic< _Tp >::store (_Tp __i, memory_order __m=memory_order_seq_cst) noexcept
void | std::atomic< _Tp >::store (_Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
void | std::atomic< bool >::store (bool __i, memory_order __m=memory_order_seq_cst) noexcept
void | std::atomic< bool >::store (bool __i, memory_order __m=memory_order_seq_cst) volatile noexcept

## Variables

__base_type | std::atomic< _Tp * >::_M_b
__atomic_flag_data_type | std::__atomic_flag_base::_M_i

## Detailed Description

Components for performing atomic operations.

## Macro Definition Documentation

## ATOMIC_BOOL_LOCK_FREE

#define ATOMIC_BOOL_LOCK_FREE

Lock-free property.

0 indicates that the types are never lock-free. 1 indicates that the types are sometimes lock-free. 2 indicates that the types are always lock-free.

Definition at line 49 of file atomic_lockfree_defines.h.

## Typedef Documentation

## atomic_bool

typedef atomic<bool> std::atomic_bool

atomic_bool

Definition at line 868 of file atomic.

## atomic_char

typedef atomic<char> std::atomic_char

atomic_char

Definition at line 871 of file atomic.

## atomic_char16_t

typedef atomic<char16_t> std::atomic_char16_t

atomic_char16_t

Definition at line 907 of file atomic.

## atomic_char32_t

typedef atomic<char32_t> std::atomic_char32_t

atomic_char32_t

Definition at line 910 of file atomic.

## atomic_int

typedef atomic<int> std::atomic_int

atomic_int

Definition at line 886 of file atomic.

## atomic_int16_t

typedef atomic<int16_t> std::atomic_int16_t

atomic_int16_t

Definition at line 923 of file atomic.

## atomic_int32_t

typedef atomic<int32_t> std::atomic_int32_t

atomic_int32_t

Definition at line 929 of file atomic.

## atomic_int64_t

typedef atomic<int64_t> std::atomic_int64_t

atomic_int64_t

Definition at line 935 of file atomic.

## atomic_int8_t

typedef atomic<int8_t> std::atomic_int8_t

atomic_int8_t

Definition at line 917 of file atomic.

## atomic_int_fast16_t

typedef atomic<int_fast16_t> std::atomic_int_fast16_t

atomic_int_fast16_t

Definition at line 973 of file atomic.

## atomic_int_fast32_t

typedef atomic<int_fast32_t> std::atomic_int_fast32_t

atomic_int_fast32_t

Definition at line 979 of file atomic.

## atomic_int_fast64_t

typedef atomic<int_fast64_t> std::atomic_int_fast64_t

atomic_int_fast64_t

Definition at line 985 of file atomic.

## atomic_int_fast8_t

typedef atomic<int_fast8_t> std::atomic_int_fast8_t

atomic_int_fast8_t

Definition at line 967 of file atomic.

## atomic_int_least16_t

typedef atomic<int_least16_t> std::atomic_int_least16_t

atomic_int_least16_t

Definition at line 948 of file atomic.

## atomic_int_least32_t

typedef atomic<int_least32_t> std::atomic_int_least32_t

atomic_int_least32_t

Definition at line 954 of file atomic.

## atomic_int_least64_t

typedef atomic<int_least64_t> std::atomic_int_least64_t

atomic_int_least64_t

Definition at line 960 of file atomic.

## atomic_int_least8_t

typedef atomic<int_least8_t> std::atomic_int_least8_t

atomic_int_least8_t

Definition at line 942 of file atomic.

## atomic_intmax_t

typedef atomic<intmax_t> std::atomic_intmax_t

atomic_intmax_t

Definition at line 1006 of file atomic.

## atomic_intptr_t

typedef atomic<intptr_t> std::atomic_intptr_t

atomic_intptr_t

Definition at line 993 of file atomic.

## atomic_llong

typedef atomic<long long> std::atomic_llong

atomic_llong

Definition at line 898 of file atomic.

## atomic_long

typedef atomic<long> std::atomic_long

atomic_long

Definition at line 892 of file atomic.

## atomic_ptrdiff_t

typedef atomic<ptrdiff_t> std::atomic_ptrdiff_t

atomic_ptrdiff_t

Definition at line 1002 of file atomic.

## atomic_schar

typedef atomic<signed char> std::atomic_schar

atomic_schar

Definition at line 874 of file atomic.

## atomic_short

typedef atomic<short> std::atomic_short

atomic_short

Definition at line 880 of file atomic.

## atomic_size_t

typedef atomic<size_t> std::atomic_size_t

atomic_size_t

Definition at line 999 of file atomic.

## atomic_uchar

typedef atomic<unsigned char> std::atomic_uchar

atomic_uchar

Definition at line 877 of file atomic.

## atomic_uint

typedef atomic<unsigned int> std::atomic_uint

atomic_uint

Definition at line 889 of file atomic.

## atomic_uint16_t

typedef atomic<uint16_t> std::atomic_uint16_t

atomic_uint16_t

Definition at line 926 of file atomic.

## atomic_uint32_t

typedef atomic<uint32_t> std::atomic_uint32_t

atomic_uint32_t

Definition at line 932 of file atomic.

## atomic_uint64_t

typedef atomic<uint64_t> std::atomic_uint64_t

atomic_uint64_t

Definition at line 938 of file atomic.

## atomic_uint8_t

typedef atomic<uint8_t> std::atomic_uint8_t

atomic_uint8_t

Definition at line 920 of file atomic.

## atomic_uint_fast16_t

typedef atomic<uint_fast16_t> std::atomic_uint_fast16_t

atomic_uint_fast16_t

Definition at line 976 of file atomic.

## atomic_uint_fast32_t

typedef atomic<uint_fast32_t> std::atomic_uint_fast32_t

atomic_uint_fast32_t

Definition at line 982 of file atomic.

## atomic_uint_fast64_t

typedef atomic<uint_fast64_t> std::atomic_uint_fast64_t

atomic_uint_fast64_t

Definition at line 988 of file atomic.

## atomic_uint_fast8_t

typedef atomic<uint_fast8_t> std::atomic_uint_fast8_t

atomic_uint_fast8_t

Definition at line 970 of file atomic.

## atomic_uint_least16_t

typedef atomic<uint_least16_t> std::atomic_uint_least16_t

atomic_uint_least16_t

Definition at line 951 of file atomic.

## atomic_uint_least32_t

typedef atomic<uint_least32_t> std::atomic_uint_least32_t

atomic_uint_least32_t

Definition at line 957 of file atomic.

## atomic_uint_least64_t

typedef atomic<uint_least64_t> std::atomic_uint_least64_t

atomic_uint_least64_t

Definition at line 963 of file atomic.

## atomic_uint_least8_t

typedef atomic<uint_least8_t> std::atomic_uint_least8_t

atomic_uint_least8_t

Definition at line 945 of file atomic.

## atomic_uintmax_t

typedef atomic<uintmax_t> std::atomic_uintmax_t

atomic_uintmax_t

Definition at line 1009 of file atomic.

## atomic_uintptr_t

typedef atomic<uintptr_t> std::atomic_uintptr_t

atomic_uintptr_t

Definition at line 996 of file atomic.

## atomic_ullong

typedef atomic<unsigned long long> std::atomic_ullong

atomic_ullong

Definition at line 901 of file atomic.

## atomic_ulong

typedef atomic<unsigned long> std::atomic_ulong

atomic_ulong

Definition at line 895 of file atomic.

## atomic_ushort

typedef atomic<unsigned short> std::atomic_ushort

atomic_ushort

Definition at line 883 of file atomic.

## atomic_wchar_t

typedef atomic<wchar_t> std::atomic_wchar_t

atomic_wchar_t

Definition at line 904 of file atomic.

## memory_order

typedef enum std::memory_order std::memory_order

Enumeration for memory_order.

## Enumeration Type Documentation

## memory_order

enum std::memory_order

Enumeration for memory_order.

Definition at line 55 of file atomic_base.h.

## Function Documentation

## kill_dependency()

template<typename _Tp >

_Tp std::kill_dependency | ( | _Tp | __y | ) |

inline noexcept

kill_dependency

Definition at line 111 of file atomic_base.h.