libstdc++
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< _Tp * >::is_lock_free () const noexcept
 
bool std::__atomic_base< _ITp >::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< _Tp * >::is_lock_free () const volatile noexcept
 
bool std::__atomic_base< _ITp >::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
 
__pointer_type std::atomic< _Tp * >::operator++ () noexcept
 
__int_type std::__atomic_base< _ITp >::operator++ () noexcept
 
__pointer_type std::__atomic_base< _PTp * >::operator++ () noexcept
 
__pointer_type std::atomic< _Tp * >::operator++ () volatile noexcept
 
__int_type std::__atomic_base< _ITp >::operator++ () volatile noexcept
 
__pointer_type std::__atomic_base< _PTp * >::operator++ () volatile noexcept
 
__pointer_type std::atomic< _Tp * >::operator++ (int) noexcept
 
__int_type std::__atomic_base< _ITp >::operator++ (int) noexcept
 
__pointer_type std::__atomic_base< _PTp * >::operator++ (int) noexcept
 
__pointer_type std::atomic< _Tp * >::operator++ (int) volatile noexcept
 
__int_type std::__atomic_base< _ITp >::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
 
__pointer_type std::atomic< _Tp * >::operator-- () noexcept
 
__int_type std::__atomic_base< _ITp >::operator-- () noexcept
 
__pointer_type std::__atomic_base< _PTp * >::operator-- () noexcept
 
__pointer_type std::atomic< _Tp * >::operator-- () volatile noexcept
 
__int_type std::__atomic_base< _ITp >::operator-- () volatile noexcept
 
__pointer_type std::__atomic_base< _PTp * >::operator-- () volatile noexcept
 
__pointer_type std::atomic< _Tp * >::operator-- (int) noexcept
 
__int_type std::__atomic_base< _ITp >::operator-- (int) noexcept
 
__pointer_type std::__atomic_base< _PTp * >::operator-- (int) noexcept
 
__pointer_type std::atomic< _Tp * >::operator-- (int) volatile noexcept
 
__int_type std::__atomic_base< _ITp >::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_basestd::__atomic_base< _ITp >::operator= (const __atomic_base &) volatile=delete
 
__atomic_basestd::__atomic_base< _PTp * >::operator= (const __atomic_base &) volatile=delete
 
__atomic_basestd::__atomic_base< _ITp >::operator= (const __atomic_base &)=delete
 
__atomic_basestd::__atomic_base< _PTp * >::operator= (const __atomic_base &)=delete
 
atomicstd::atomic< bool >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< _Tp >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< _Tp * >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< char >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< signed char >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< unsigned char >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< short >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< unsigned short >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< int >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< unsigned int >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< long >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< unsigned long >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< long long >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< unsigned long long >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< wchar_t >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< char16_t >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< char32_t >::operator= (const atomic &) volatile=delete
 
atomicstd::atomic< bool >::operator= (const atomic &)=delete
 
atomicstd::atomic< _Tp >::operator= (const atomic &)=delete
 
atomicstd::atomic< _Tp * >::operator= (const atomic &)=delete
 
atomicstd::atomic< char >::operator= (const atomic &)=delete
 
atomicstd::atomic< signed char >::operator= (const atomic &)=delete
 
atomicstd::atomic< unsigned char >::operator= (const atomic &)=delete
 
atomicstd::atomic< short >::operator= (const atomic &)=delete
 
atomicstd::atomic< unsigned short >::operator= (const atomic &)=delete
 
atomicstd::atomic< int >::operator= (const atomic &)=delete
 
atomicstd::atomic< unsigned int >::operator= (const atomic &)=delete
 
atomicstd::atomic< long >::operator= (const atomic &)=delete
 
atomicstd::atomic< unsigned long >::operator= (const atomic &)=delete
 
atomicstd::atomic< long long >::operator= (const atomic &)=delete
 
atomicstd::atomic< unsigned long long >::operator= (const atomic &)=delete
 
atomicstd::atomic< wchar_t >::operator= (const atomic &)=delete
 
atomicstd::atomic< char16_t >::operator= (const atomic &)=delete
 
atomicstd::atomic< char32_t >::operator= (const atomic &)=delete
 
atomic_flagstd::atomic_flag::operator= (const atomic_flag &) volatile=delete
 
atomic_flagstd::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.

◆ ATOMIC_CHAR16_T_LOCK_FREE

#define ATOMIC_CHAR16_T_LOCK_FREE

Definition at line 52 of file atomic_lockfree_defines.h.

◆ ATOMIC_CHAR32_T_LOCK_FREE

#define ATOMIC_CHAR32_T_LOCK_FREE

Definition at line 53 of file atomic_lockfree_defines.h.

◆ ATOMIC_CHAR_LOCK_FREE

#define ATOMIC_CHAR_LOCK_FREE

Definition at line 50 of file atomic_lockfree_defines.h.

◆ ATOMIC_FLAG_INIT

#define ATOMIC_FLAG_INIT

Definition at line 157 of file atomic_base.h.

◆ ATOMIC_INT_LOCK_FREE

#define ATOMIC_INT_LOCK_FREE

Definition at line 55 of file atomic_lockfree_defines.h.

◆ ATOMIC_LLONG_LOCK_FREE

#define ATOMIC_LLONG_LOCK_FREE

Definition at line 57 of file atomic_lockfree_defines.h.

◆ ATOMIC_LONG_LOCK_FREE

#define ATOMIC_LONG_LOCK_FREE

Definition at line 56 of file atomic_lockfree_defines.h.

◆ ATOMIC_POINTER_LOCK_FREE

#define ATOMIC_POINTER_LOCK_FREE

Definition at line 58 of file atomic_lockfree_defines.h.

◆ ATOMIC_SHORT_LOCK_FREE

#define ATOMIC_SHORT_LOCK_FREE

Definition at line 54 of file atomic_lockfree_defines.h.

◆ ATOMIC_VAR_INIT

#define ATOMIC_VAR_INIT (   _VI)

Definition at line 123 of file atomic_base.h.

◆ ATOMIC_WCHAR_T_LOCK_FREE

#define ATOMIC_WCHAR_T_LOCK_FREE

Definition at line 51 of file atomic_lockfree_defines.h.

Typedef Documentation

◆ __atomic_flag_data_type

typedef unsigned char std::__atomic_flag_data_type

Definition at line 135 of file atomic_base.h.

◆ __base_type [1/15]

template<typename _Tp >
typedef __atomic_base<_Tp*> std::atomic< _Tp * >::__base_type

Definition at line 355 of file atomic.

◆ __base_type [2/15]

typedef __atomic_base<char> std::atomic< char >::__base_type

Definition at line 549 of file atomic.

◆ __base_type [3/15]

typedef __atomic_base<signed char> std::atomic< signed char >::__base_type

Definition at line 572 of file atomic.

◆ __base_type [4/15]

typedef __atomic_base<unsigned char> std::atomic< unsigned char >::__base_type

Definition at line 595 of file atomic.

◆ __base_type [5/15]

typedef __atomic_base<short> std::atomic< short >::__base_type

Definition at line 618 of file atomic.

◆ __base_type [6/15]

typedef __atomic_base<unsigned short> std::atomic< unsigned short >::__base_type

Definition at line 641 of file atomic.

◆ __base_type [7/15]

typedef __atomic_base<int> std::atomic< int >::__base_type

Definition at line 664 of file atomic.

◆ __base_type [8/15]

typedef __atomic_base<unsigned int> std::atomic< unsigned int >::__base_type

Definition at line 687 of file atomic.

◆ __base_type [9/15]

typedef __atomic_base<long> std::atomic< long >::__base_type

Definition at line 710 of file atomic.

◆ __base_type [10/15]

typedef __atomic_base<unsigned long> std::atomic< unsigned long >::__base_type

Definition at line 733 of file atomic.

◆ __base_type [11/15]

typedef __atomic_base<long long> std::atomic< long long >::__base_type

Definition at line 756 of file atomic.

◆ __base_type [12/15]

typedef __atomic_base<unsigned long long> std::atomic< unsigned long long >::__base_type

Definition at line 779 of file atomic.

◆ __base_type [13/15]

typedef __atomic_base<wchar_t> std::atomic< wchar_t >::__base_type

Definition at line 802 of file atomic.

◆ __base_type [14/15]

typedef __atomic_base<char16_t> std::atomic< char16_t >::__base_type

Definition at line 825 of file atomic.

◆ __base_type [15/15]

typedef __atomic_base<char32_t> std::atomic< char32_t >::__base_type

Definition at line 848 of file atomic.

◆ __integral_type [1/14]

typedef char std::atomic< char >::__integral_type

Definition at line 548 of file atomic.

◆ __integral_type [2/14]

typedef signed char std::atomic< signed char >::__integral_type

Definition at line 571 of file atomic.

◆ __integral_type [3/14]

typedef unsigned char std::atomic< unsigned char >::__integral_type

Definition at line 594 of file atomic.

◆ __integral_type [4/14]

typedef short std::atomic< short >::__integral_type

Definition at line 617 of file atomic.

◆ __integral_type [5/14]

typedef unsigned short std::atomic< unsigned short >::__integral_type

Definition at line 640 of file atomic.

◆ __integral_type [6/14]

typedef int std::atomic< int >::__integral_type

Definition at line 663 of file atomic.

◆ __integral_type [7/14]

typedef unsigned int std::atomic< unsigned int >::__integral_type

Definition at line 686 of file atomic.

◆ __integral_type [8/14]

typedef long std::atomic< long >::__integral_type

Definition at line 709 of file atomic.

◆ __integral_type [9/14]

typedef unsigned long std::atomic< unsigned long >::__integral_type

Definition at line 732 of file atomic.

◆ __integral_type [10/14]

typedef long long std::atomic< long long >::__integral_type

Definition at line 755 of file atomic.

◆ __integral_type [11/14]

typedef unsigned long long std::atomic< unsigned long long >::__integral_type

Definition at line 778 of file atomic.

◆ __integral_type [12/14]

typedef wchar_t std::atomic< wchar_t >::__integral_type

Definition at line 801 of file atomic.

◆ __integral_type [13/14]

typedef char16_t std::atomic< char16_t >::__integral_type

Definition at line 824 of file atomic.

◆ __integral_type [14/14]

typedef char32_t std::atomic< char32_t >::__integral_type

Definition at line 847 of file atomic.

◆ __pointer_type

template<typename _Tp >
typedef _Tp* std::atomic< _Tp * >::__pointer_type

Definition at line 354 of file atomic.

◆ 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

Enumeration for memory_order.

Enumeration Type Documentation

◆ __memory_order_modifier

enum std::__memory_order_modifier

Definition at line 65 of file atomic_base.h.

◆ memory_order

Enumeration for memory_order.

Definition at line 55 of file atomic_base.h.

Function Documentation

◆ __atomic_base() [1/2]

template<typename _ITp >
constexpr std::__atomic_base< _ITp >::__atomic_base ( __int_type  __i)
inlineconstexprnoexcept

Definition at line 256 of file atomic_base.h.

◆ __atomic_base() [2/2]

template<typename _PTp >
constexpr std::__atomic_base< _PTp * >::__atomic_base ( __pointer_type  __p)
inlineconstexprnoexcept

Definition at line 587 of file atomic_base.h.

◆ atomic() [1/17]

constexpr std::atomic< char >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 557 of file atomic.

◆ atomic() [2/17]

constexpr std::atomic< signed char >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 580 of file atomic.

◆ atomic() [3/17]

constexpr std::atomic< unsigned char >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 603 of file atomic.

◆ atomic() [4/17]

constexpr std::atomic< short >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 626 of file atomic.

◆ atomic() [5/17]

constexpr std::atomic< unsigned short >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 649 of file atomic.

◆ atomic() [6/17]

constexpr std::atomic< int >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 672 of file atomic.

◆ atomic() [7/17]

constexpr std::atomic< unsigned int >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 695 of file atomic.

◆ atomic() [8/17]

constexpr std::atomic< long >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 718 of file atomic.

◆ atomic() [9/17]

constexpr std::atomic< unsigned long >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 741 of file atomic.

◆ atomic() [10/17]

constexpr std::atomic< long long >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 764 of file atomic.

◆ atomic() [11/17]

constexpr std::atomic< unsigned long long >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 787 of file atomic.

◆ atomic() [12/17]

constexpr std::atomic< wchar_t >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 810 of file atomic.

◆ atomic() [13/17]

constexpr std::atomic< char16_t >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 833 of file atomic.

◆ atomic() [14/17]

constexpr std::atomic< char32_t >::atomic ( __integral_type  __i)
inlineconstexprnoexcept

Definition at line 856 of file atomic.

◆ atomic() [15/17]

template<typename _Tp >
constexpr std::atomic< _Tp * >::atomic ( __pointer_type  __p)
inlineconstexprnoexcept

Definition at line 364 of file atomic.

◆ atomic() [16/17]

template<typename _Tp >
constexpr std::atomic< _Tp >::atomic ( _Tp  __i)
inlineconstexprnoexcept

Definition at line 200 of file atomic.

◆ atomic() [17/17]

constexpr std::atomic< bool >::atomic ( bool  __i)
inlineconstexprnoexcept

Definition at line 75 of file atomic.

◆ atomic_flag()

constexpr std::atomic_flag::atomic_flag ( bool  __i)
inlineconstexprnoexcept

Definition at line 169 of file atomic_base.h.

◆ __attribute__()

std::__attribute__ ( (__always_inline__)  )
inlinenoexcept

Definition at line 100 of file atomic_base.h.

◆ __cmpexch_failure_order()

constexpr memory_order std::__cmpexch_failure_order ( memory_order  __m)
constexprnoexcept

Definition at line 94 of file atomic_base.h.

◆ __cmpexch_failure_order2()

constexpr memory_order std::__cmpexch_failure_order2 ( memory_order  __m)
constexprnoexcept

Definition at line 87 of file atomic_base.h.

◆ atomic_compare_exchange_strong() [1/2]

template<typename _ITp >
bool std::atomic_compare_exchange_strong ( atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2 
)
inlinenoexcept

Definition at line 1190 of file atomic.

◆ atomic_compare_exchange_strong() [2/2]

template<typename _ITp >
bool std::atomic_compare_exchange_strong ( volatile atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2 
)
inlinenoexcept

Definition at line 1200 of file atomic.

◆ atomic_compare_exchange_strong_explicit() [1/2]

template<typename _ITp >
bool std::atomic_compare_exchange_strong_explicit ( atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 1123 of file atomic.

◆ atomic_compare_exchange_strong_explicit() [2/2]

template<typename _ITp >
bool std::atomic_compare_exchange_strong_explicit ( volatile atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 1131 of file atomic.

◆ atomic_compare_exchange_weak() [1/2]

template<typename _ITp >
bool std::atomic_compare_exchange_weak ( atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2 
)
inlinenoexcept

Definition at line 1170 of file atomic.

◆ atomic_compare_exchange_weak() [2/2]

template<typename _ITp >
bool std::atomic_compare_exchange_weak ( volatile atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2 
)
inlinenoexcept

Definition at line 1180 of file atomic.

◆ atomic_compare_exchange_weak_explicit() [1/2]

template<typename _ITp >
bool std::atomic_compare_exchange_weak_explicit ( atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 1107 of file atomic.

◆ atomic_compare_exchange_weak_explicit() [2/2]

template<typename _ITp >
bool std::atomic_compare_exchange_weak_explicit ( volatile atomic< _ITp > *  __a,
_ITp *  __i1,
_ITp  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 1115 of file atomic.

◆ atomic_exchange() [1/2]

template<typename _ITp >
_ITp std::atomic_exchange ( atomic< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1160 of file atomic.

◆ atomic_exchange() [2/2]

template<typename _ITp >
_ITp std::atomic_exchange ( volatile atomic< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1165 of file atomic.

◆ atomic_exchange_explicit() [1/2]

template<typename _ITp >
_ITp std::atomic_exchange_explicit ( atomic< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1095 of file atomic.

◆ atomic_exchange_explicit() [2/2]

template<typename _ITp >
_ITp std::atomic_exchange_explicit ( volatile atomic< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1101 of file atomic.

◆ atomic_fetch_add() [1/4]

template<typename _ITp >
_ITp std::atomic_fetch_add ( __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1274 of file atomic.

◆ atomic_fetch_add() [2/4]

template<typename _ITp >
_ITp * std::atomic_fetch_add ( atomic< _ITp * > *  __a,
ptrdiff_t  __d 
)
inlinenoexcept

Definition at line 1343 of file atomic.

◆ atomic_fetch_add() [3/4]

template<typename _ITp >
_ITp std::atomic_fetch_add ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1279 of file atomic.

◆ atomic_fetch_add() [4/4]

template<typename _ITp >
_ITp * std::atomic_fetch_add ( volatile atomic< _ITp * > *  __a,
ptrdiff_t  __d 
)
inlinenoexcept

Definition at line 1338 of file atomic.

◆ atomic_fetch_add_explicit() [1/4]

template<typename _ITp >
_ITp std::atomic_fetch_add_explicit ( __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1214 of file atomic.

◆ atomic_fetch_add_explicit() [2/4]

template<typename _ITp >
_ITp * std::atomic_fetch_add_explicit ( atomic< _ITp * > *  __a,
ptrdiff_t  __d,
memory_order  __m 
)
inlinenoexcept

Definition at line 1326 of file atomic.

◆ atomic_fetch_add_explicit() [3/4]

template<typename _ITp >
_ITp std::atomic_fetch_add_explicit ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1220 of file atomic.

◆ atomic_fetch_add_explicit() [4/4]

template<typename _ITp >
_ITp * std::atomic_fetch_add_explicit ( volatile atomic< _ITp * > *  __a,
ptrdiff_t  __d,
memory_order  __m 
)
inlinenoexcept

Definition at line 1332 of file atomic.

◆ atomic_fetch_and() [1/2]

template<typename _ITp >
_ITp std::atomic_fetch_and ( __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1294 of file atomic.

◆ atomic_fetch_and() [2/2]

template<typename _ITp >
_ITp std::atomic_fetch_and ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1299 of file atomic.

◆ atomic_fetch_and_explicit() [1/2]

template<typename _ITp >
_ITp std::atomic_fetch_and_explicit ( __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1238 of file atomic.

◆ atomic_fetch_and_explicit() [2/2]

template<typename _ITp >
_ITp std::atomic_fetch_and_explicit ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1244 of file atomic.

◆ atomic_fetch_or() [1/2]

template<typename _ITp >
_ITp std::atomic_fetch_or ( __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1304 of file atomic.

◆ atomic_fetch_or() [2/2]

template<typename _ITp >
_ITp std::atomic_fetch_or ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1309 of file atomic.

◆ atomic_fetch_or_explicit() [1/2]

template<typename _ITp >
_ITp std::atomic_fetch_or_explicit ( __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1250 of file atomic.

◆ atomic_fetch_or_explicit() [2/2]

template<typename _ITp >
_ITp std::atomic_fetch_or_explicit ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1256 of file atomic.

◆ atomic_fetch_sub() [1/4]

template<typename _ITp >
_ITp std::atomic_fetch_sub ( __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1284 of file atomic.

◆ atomic_fetch_sub() [2/4]

template<typename _ITp >
_ITp * std::atomic_fetch_sub ( atomic< _ITp * > *  __a,
ptrdiff_t  __d 
)
inlinenoexcept

Definition at line 1365 of file atomic.

◆ atomic_fetch_sub() [3/4]

template<typename _ITp >
_ITp std::atomic_fetch_sub ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1289 of file atomic.

◆ atomic_fetch_sub() [4/4]

template<typename _ITp >
_ITp * std::atomic_fetch_sub ( volatile atomic< _ITp * > *  __a,
ptrdiff_t  __d 
)
inlinenoexcept

Definition at line 1360 of file atomic.

◆ atomic_fetch_sub_explicit() [1/4]

template<typename _ITp >
_ITp std::atomic_fetch_sub_explicit ( __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1226 of file atomic.

◆ atomic_fetch_sub_explicit() [2/4]

template<typename _ITp >
_ITp * std::atomic_fetch_sub_explicit ( atomic< _ITp * > *  __a,
ptrdiff_t  __d,
memory_order  __m 
)
inlinenoexcept

Definition at line 1354 of file atomic.

◆ atomic_fetch_sub_explicit() [3/4]

template<typename _ITp >
_ITp std::atomic_fetch_sub_explicit ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1232 of file atomic.

◆ atomic_fetch_sub_explicit() [4/4]

template<typename _ITp >
_ITp * std::atomic_fetch_sub_explicit ( volatile atomic< _ITp * > *  __a,
ptrdiff_t  __d,
memory_order  __m 
)
inlinenoexcept

Definition at line 1348 of file atomic.

◆ atomic_fetch_xor() [1/2]

template<typename _ITp >
_ITp std::atomic_fetch_xor ( __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1314 of file atomic.

◆ atomic_fetch_xor() [2/2]

template<typename _ITp >
_ITp std::atomic_fetch_xor ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1319 of file atomic.

◆ atomic_fetch_xor_explicit() [1/2]

template<typename _ITp >
_ITp std::atomic_fetch_xor_explicit ( __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1262 of file atomic.

◆ atomic_fetch_xor_explicit() [2/2]

template<typename _ITp >
_ITp std::atomic_fetch_xor_explicit ( volatile __atomic_base< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1268 of file atomic.

◆ atomic_flag_clear() [1/2]

void std::atomic_flag_clear ( atomic_flag __a)
inlinenoexcept

Definition at line 1041 of file atomic.

◆ atomic_flag_clear() [2/2]

void std::atomic_flag_clear ( volatile atomic_flag __a)
inlinenoexcept

Definition at line 1045 of file atomic.

◆ atomic_flag_clear_explicit() [1/2]

void std::atomic_flag_clear_explicit ( atomic_flag __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1024 of file atomic.

◆ atomic_flag_clear_explicit() [2/2]

void std::atomic_flag_clear_explicit ( volatile atomic_flag __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1028 of file atomic.

◆ atomic_flag_test_and_set() [1/2]

bool std::atomic_flag_test_and_set ( atomic_flag __a)
inlinenoexcept

Definition at line 1033 of file atomic.

◆ atomic_flag_test_and_set() [2/2]

bool std::atomic_flag_test_and_set ( volatile atomic_flag __a)
inlinenoexcept

Definition at line 1037 of file atomic.

◆ atomic_flag_test_and_set_explicit() [1/2]

bool std::atomic_flag_test_and_set_explicit ( atomic_flag __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1014 of file atomic.

◆ atomic_flag_test_and_set_explicit() [2/2]

bool std::atomic_flag_test_and_set_explicit ( volatile atomic_flag __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1019 of file atomic.

◆ atomic_init() [1/2]

template<typename _ITp >
void std::atomic_init ( atomic< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1062 of file atomic.

◆ atomic_init() [2/2]

template<typename _ITp >
void std::atomic_init ( volatile atomic< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1067 of file atomic.

◆ atomic_is_lock_free() [1/2]

template<typename _ITp >
bool std::atomic_is_lock_free ( const atomic< _ITp > *  __a)
inlinenoexcept

Definition at line 1052 of file atomic.

◆ atomic_is_lock_free() [2/2]

template<typename _ITp >
bool std::atomic_is_lock_free ( const volatile atomic< _ITp > *  __a)
inlinenoexcept

Definition at line 1057 of file atomic.

◆ atomic_load() [1/2]

template<typename _ITp >
_ITp std::atomic_load ( const atomic< _ITp > *  __a)
inlinenoexcept

Definition at line 1150 of file atomic.

◆ atomic_load() [2/2]

template<typename _ITp >
_ITp std::atomic_load ( const volatile atomic< _ITp > *  __a)
inlinenoexcept

Definition at line 1155 of file atomic.

◆ atomic_load_explicit() [1/2]

template<typename _ITp >
_ITp std::atomic_load_explicit ( const atomic< _ITp > *  __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1084 of file atomic.

◆ atomic_load_explicit() [2/2]

template<typename _ITp >
_ITp std::atomic_load_explicit ( const volatile atomic< _ITp > *  __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1089 of file atomic.

◆ atomic_store() [1/2]

template<typename _ITp >
void std::atomic_store ( atomic< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1140 of file atomic.

◆ atomic_store() [2/2]

template<typename _ITp >
void std::atomic_store ( volatile atomic< _ITp > *  __a,
_ITp  __i 
)
inlinenoexcept

Definition at line 1145 of file atomic.

◆ atomic_store_explicit() [1/2]

template<typename _ITp >
void std::atomic_store_explicit ( atomic< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1072 of file atomic.

◆ atomic_store_explicit() [2/2]

template<typename _ITp >
void std::atomic_store_explicit ( volatile atomic< _ITp > *  __a,
_ITp  __i,
memory_order  __m 
)
inlinenoexcept

Definition at line 1078 of file atomic.

◆ compare_exchange_strong() [1/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_strong ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 496 of file atomic.

◆ compare_exchange_strong() [2/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_strong ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexcept

Definition at line 501 of file atomic.

◆ compare_exchange_strong() [3/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_strong ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 507 of file atomic.

◆ compare_exchange_strong() [4/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_strong ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 515 of file atomic.

◆ compare_exchange_strong() [5/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_strong ( _Tp &  __e,
_Tp  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 337 of file atomic.

◆ compare_exchange_strong() [6/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_strong ( _Tp &  __e,
_Tp  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 343 of file atomic.

◆ compare_exchange_strong() [7/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_strong ( _Tp &  __e,
_Tp  __i,
memory_order  __s,
memory_order  __f 
)
inlinenoexcept

Definition at line 317 of file atomic.

◆ compare_exchange_strong() [8/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_strong ( _Tp &  __e,
_Tp  __i,
memory_order  __s,
memory_order  __f 
) volatile
inlinenoexcept

Definition at line 327 of file atomic.

◆ compare_exchange_strong() [9/12]

bool std::atomic< bool >::compare_exchange_strong ( bool &  __i1,
bool  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 147 of file atomic.

◆ compare_exchange_strong() [10/12]

bool std::atomic< bool >::compare_exchange_strong ( bool &  __i1,
bool  __i2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexcept

Definition at line 152 of file atomic.

◆ compare_exchange_strong() [11/12]

bool std::atomic< bool >::compare_exchange_strong ( bool &  __i1,
bool  __i2,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 157 of file atomic.

◆ compare_exchange_strong() [12/12]

bool std::atomic< bool >::compare_exchange_strong ( bool &  __i1,
bool  __i2,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 162 of file atomic.

◆ compare_exchange_weak() [1/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_weak ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 469 of file atomic.

◆ compare_exchange_weak() [2/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_weak ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexcept

Definition at line 474 of file atomic.

◆ compare_exchange_weak() [3/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_weak ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 480 of file atomic.

◆ compare_exchange_weak() [4/12]

template<typename _Tp >
bool std::atomic< _Tp * >::compare_exchange_weak ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 488 of file atomic.

◆ compare_exchange_weak() [5/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_weak ( _Tp &  __e,
_Tp  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 305 of file atomic.

◆ compare_exchange_weak() [6/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_weak ( _Tp &  __e,
_Tp  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 311 of file atomic.

◆ compare_exchange_weak() [7/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_weak ( _Tp &  __e,
_Tp  __i,
memory_order  __s,
memory_order  __f 
)
inlinenoexcept

Definition at line 285 of file atomic.

◆ compare_exchange_weak() [8/12]

template<typename _Tp >
bool std::atomic< _Tp >::compare_exchange_weak ( _Tp &  __e,
_Tp  __i,
memory_order  __s,
memory_order  __f 
) volatile
inlinenoexcept

Definition at line 295 of file atomic.

◆ compare_exchange_weak() [9/12]

bool std::atomic< bool >::compare_exchange_weak ( bool &  __i1,
bool  __i2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 127 of file atomic.

◆ compare_exchange_weak() [10/12]

bool std::atomic< bool >::compare_exchange_weak ( bool &  __i1,
bool  __i2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexcept

Definition at line 132 of file atomic.

◆ compare_exchange_weak() [11/12]

bool std::atomic< bool >::compare_exchange_weak ( bool &  __i1,
bool  __i2,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 137 of file atomic.

◆ compare_exchange_weak() [12/12]

bool std::atomic< bool >::compare_exchange_weak ( bool &  __i1,
bool  __i2,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 142 of file atomic.

◆ exchange() [1/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::exchange ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 459 of file atomic.

◆ exchange() [2/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::exchange ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 464 of file atomic.

◆ exchange() [3/6]

template<typename _Tp >
_Tp std::atomic< _Tp >::exchange ( _Tp  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 264 of file atomic.

◆ exchange() [4/6]

template<typename _Tp >
_Tp std::atomic< _Tp >::exchange ( _Tp  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 274 of file atomic.

◆ exchange() [5/6]

bool std::atomic< bool >::exchange ( bool  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 118 of file atomic.

◆ exchange() [6/6]

bool std::atomic< bool >::exchange ( bool  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 122 of file atomic.

◆ fetch_add() [1/2]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::fetch_add ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 523 of file atomic.

◆ fetch_add() [2/2]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::fetch_add ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 528 of file atomic.

◆ fetch_sub() [1/2]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::fetch_sub ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 533 of file atomic.

◆ fetch_sub() [2/2]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::fetch_sub ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 538 of file atomic.

◆ is_lock_free() [1/10]

bool std::atomic< bool >::is_lock_free ( ) const
inlinenoexcept

Definition at line 92 of file atomic.

◆ is_lock_free() [2/10]

template<typename _Tp >
bool std::atomic< _Tp >::is_lock_free ( ) const
inlinenoexcept

Definition at line 217 of file atomic.

◆ is_lock_free() [3/10]

template<typename _Tp >
bool std::atomic< _Tp * >::is_lock_free ( ) const
inlinenoexcept

Definition at line 429 of file atomic.

◆ is_lock_free() [4/10]

template<typename _ITp >
bool std::__atomic_base< _ITp >::is_lock_free ( ) const
inlinenoexcept

Definition at line 351 of file atomic_base.h.

◆ is_lock_free() [5/10]

template<typename _PTp >
bool std::__atomic_base< _PTp * >::is_lock_free ( ) const
inlinenoexcept

Definition at line 666 of file atomic_base.h.

◆ is_lock_free() [6/10]

bool std::atomic< bool >::is_lock_free ( ) const volatile
inlinenoexcept

Definition at line 95 of file atomic.

◆ is_lock_free() [7/10]

template<typename _Tp >
bool std::atomic< _Tp >::is_lock_free ( ) const volatile
inlinenoexcept

Definition at line 225 of file atomic.

◆ is_lock_free() [8/10]

template<typename _Tp >
bool std::atomic< _Tp * >::is_lock_free ( ) const volatile
inlinenoexcept

Definition at line 433 of file atomic.

◆ is_lock_free() [9/10]

template<typename _ITp >
bool std::__atomic_base< _ITp >::is_lock_free ( ) const volatile
inlinenoexcept

Definition at line 359 of file atomic_base.h.

◆ is_lock_free() [10/10]

template<typename _PTp >
bool std::__atomic_base< _PTp * >::is_lock_free ( ) const volatile
inlinenoexcept

Definition at line 674 of file atomic_base.h.

◆ kill_dependency()

template<typename _Tp >
_Tp std::kill_dependency ( _Tp  __y)
inlinenoexcept

kill_dependency

Definition at line 111 of file atomic_base.h.

◆ load() [1/6]

bool std::atomic< bool >::load ( memory_order  __m = memory_order_seq_cst) const
inlinenoexcept

Definition at line 110 of file atomic.

◆ load() [2/6]

template<typename _Tp >
_Tp std::atomic< _Tp >::load ( memory_order  __m = memory_order_seq_cst) const
inlinenoexcept

Definition at line 246 of file atomic.

◆ load() [3/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::load ( memory_order  __m = memory_order_seq_cst) const
inlinenoexcept

Definition at line 451 of file atomic.

◆ load() [4/6]

bool std::atomic< bool >::load ( memory_order  __m = memory_order_seq_cst) const volatile
inlinenoexcept

Definition at line 114 of file atomic.

◆ load() [5/6]

template<typename _Tp >
_Tp std::atomic< _Tp >::load ( memory_order  __m = memory_order_seq_cst) const volatile
inlinenoexcept

Definition at line 255 of file atomic.

◆ load() [6/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::load ( memory_order  __m = memory_order_seq_cst) const volatile
inlinenoexcept

Definition at line 455 of file atomic.

◆ operator __int_type() [1/2]

template<typename _ITp >
std::__atomic_base< _ITp >::operator __int_type ( ) const
inlinenoexcept

Definition at line 258 of file atomic_base.h.

◆ operator __int_type() [2/2]

template<typename _ITp >
std::__atomic_base< _ITp >::operator __int_type ( ) const volatile
inlinenoexcept

Definition at line 261 of file atomic_base.h.

◆ operator __pointer_type() [1/4]

template<typename _Tp >
std::atomic< _Tp * >::operator __pointer_type ( ) const
inlinenoexcept

Definition at line 366 of file atomic.

◆ operator __pointer_type() [2/4]

template<typename _PTp >
std::__atomic_base< _PTp * >::operator __pointer_type ( ) const
inlinenoexcept

Definition at line 589 of file atomic_base.h.

◆ operator __pointer_type() [3/4]

template<typename _Tp >
std::atomic< _Tp * >::operator __pointer_type ( ) const volatile
inlinenoexcept

Definition at line 369 of file atomic.

◆ operator __pointer_type() [4/4]

template<typename _PTp >
std::__atomic_base< _PTp * >::operator __pointer_type ( ) const volatile
inlinenoexcept

Definition at line 592 of file atomic_base.h.

◆ operator _Tp() [1/2]

template<typename _Tp >
std::atomic< _Tp >::operator _Tp ( ) const
inlinenoexcept

Definition at line 202 of file atomic.

◆ operator _Tp() [2/2]

template<typename _Tp >
std::atomic< _Tp >::operator _Tp ( ) const volatile
inlinenoexcept

Definition at line 205 of file atomic.

◆ operator bool() [1/2]

std::atomic< bool >::operator bool ( ) const
inlinenoexcept

Definition at line 85 of file atomic.

◆ operator bool() [2/2]

std::atomic< bool >::operator bool ( ) const volatile
inlinenoexcept

Definition at line 88 of file atomic.

◆ operator&()

constexpr memory_order std::operator& ( memory_order  __m,
__memory_order_modifier  __mod 
)
constexpr

Definition at line 80 of file atomic_base.h.

◆ operator&=() [1/2]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator&= ( __int_type  __i)
inlinenoexcept

Definition at line 327 of file atomic_base.h.

◆ operator&=() [2/2]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator&= ( __int_type  __i) volatile
inlinenoexcept

Definition at line 331 of file atomic_base.h.

◆ operator++() [1/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator++ ( )
inlinenoexcept

Definition at line 397 of file atomic.

◆ operator++() [2/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator++ ( )
inlinenoexcept

Definition at line 295 of file atomic_base.h.

◆ operator++() [3/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( )
inlinenoexcept

Definition at line 626 of file atomic_base.h.

◆ operator++() [4/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator++ ( ) volatile
inlinenoexcept

Definition at line 401 of file atomic.

◆ operator++() [5/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator++ ( ) volatile
inlinenoexcept

Definition at line 299 of file atomic_base.h.

◆ operator++() [6/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( ) volatile
inlinenoexcept

Definition at line 631 of file atomic_base.h.

◆ operator++() [7/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator++ ( int  )
inlinenoexcept

Definition at line 381 of file atomic.

◆ operator++() [8/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator++ ( int  )
inlinenoexcept

Definition at line 279 of file atomic_base.h.

◆ operator++() [9/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( int  )
inlinenoexcept

Definition at line 610 of file atomic_base.h.

◆ operator++() [10/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator++ ( int  ) volatile
inlinenoexcept

Definition at line 385 of file atomic.

◆ operator++() [11/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator++ ( int  ) volatile
inlinenoexcept

Definition at line 283 of file atomic_base.h.

◆ operator++() [12/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( int  ) volatile
inlinenoexcept

Definition at line 614 of file atomic_base.h.

◆ operator+=() [1/6]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator+= ( __int_type  __i)
inlinenoexcept

Definition at line 311 of file atomic_base.h.

◆ operator+=() [2/6]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator+= ( __int_type  __i) volatile
inlinenoexcept

Definition at line 315 of file atomic_base.h.

◆ operator+=() [3/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator+= ( ptrdiff_t  __d)
inlinenoexcept

Definition at line 413 of file atomic.

◆ operator+=() [4/6]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator+= ( ptrdiff_t  __d)
inlinenoexcept

Definition at line 646 of file atomic_base.h.

◆ operator+=() [5/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator+= ( ptrdiff_t  __d) volatile
inlinenoexcept

Definition at line 417 of file atomic.

◆ operator+=() [6/6]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator+= ( ptrdiff_t  __d) volatile
inlinenoexcept

Definition at line 651 of file atomic_base.h.

◆ operator--() [1/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator-- ( )
inlinenoexcept

Definition at line 405 of file atomic.

◆ operator--() [2/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator-- ( )
inlinenoexcept

Definition at line 303 of file atomic_base.h.

◆ operator--() [3/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( )
inlinenoexcept

Definition at line 636 of file atomic_base.h.

◆ operator--() [4/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator-- ( ) volatile
inlinenoexcept

Definition at line 409 of file atomic.

◆ operator--() [5/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator-- ( ) volatile
inlinenoexcept

Definition at line 307 of file atomic_base.h.

◆ operator--() [6/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( ) volatile
inlinenoexcept

Definition at line 641 of file atomic_base.h.

◆ operator--() [7/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator-- ( int  )
inlinenoexcept

Definition at line 389 of file atomic.

◆ operator--() [8/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator-- ( int  )
inlinenoexcept

Definition at line 287 of file atomic_base.h.

◆ operator--() [9/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( int  )
inlinenoexcept

Definition at line 618 of file atomic_base.h.

◆ operator--() [10/12]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator-- ( int  ) volatile
inlinenoexcept

Definition at line 393 of file atomic.

◆ operator--() [11/12]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator-- ( int  ) volatile
inlinenoexcept

Definition at line 291 of file atomic_base.h.

◆ operator--() [12/12]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( int  ) volatile
inlinenoexcept

Definition at line 622 of file atomic_base.h.

◆ operator-=() [1/6]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator-= ( __int_type  __i)
inlinenoexcept

Definition at line 319 of file atomic_base.h.

◆ operator-=() [2/6]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator-= ( __int_type  __i) volatile
inlinenoexcept

Definition at line 323 of file atomic_base.h.

◆ operator-=() [3/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator-= ( ptrdiff_t  __d)
inlinenoexcept

Definition at line 421 of file atomic.

◆ operator-=() [4/6]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-= ( ptrdiff_t  __d)
inlinenoexcept

Definition at line 656 of file atomic_base.h.

◆ operator-=() [5/6]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator-= ( ptrdiff_t  __d) volatile
inlinenoexcept

Definition at line 425 of file atomic.

◆ operator-=() [6/6]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-= ( ptrdiff_t  __d) volatile
inlinenoexcept

Definition at line 661 of file atomic_base.h.

◆ operator=() [1/10]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator= ( __int_type  __i)
inlinenoexcept

Definition at line 265 of file atomic_base.h.

◆ operator=() [2/10]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator= ( __int_type  __i) volatile
inlinenoexcept

Definition at line 272 of file atomic_base.h.

◆ operator=() [3/10]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator= ( __pointer_type  __p)
inlinenoexcept

Definition at line 373 of file atomic.

◆ operator=() [4/10]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator= ( __pointer_type  __p)
inlinenoexcept

Definition at line 596 of file atomic_base.h.

◆ operator=() [5/10]

template<typename _Tp >
__pointer_type std::atomic< _Tp * >::operator= ( __pointer_type  __p) volatile
inlinenoexcept

Definition at line 377 of file atomic.

◆ operator=() [6/10]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator= ( __pointer_type  __p) volatile
inlinenoexcept

Definition at line 603 of file atomic_base.h.

◆ operator=() [7/10]

template<typename _Tp >
_Tp std::atomic< _Tp >::operator= ( _Tp  __i)
inlinenoexcept

Definition at line 209 of file atomic.

◆ operator=() [8/10]

template<typename _Tp >
_Tp std::atomic< _Tp >::operator= ( _Tp  __i) volatile
inlinenoexcept

Definition at line 213 of file atomic.

◆ operator=() [9/10]

bool std::atomic< bool >::operator= ( bool  __i)
inlinenoexcept

Definition at line 78 of file atomic.

◆ operator=() [10/10]

bool std::atomic< bool >::operator= ( bool  __i) volatile
inlinenoexcept

Definition at line 82 of file atomic.

◆ operator^=() [1/2]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator^= ( __int_type  __i)
inlinenoexcept

Definition at line 343 of file atomic_base.h.

◆ operator^=() [2/2]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator^= ( __int_type  __i) volatile
inlinenoexcept

Definition at line 347 of file atomic_base.h.

◆ operator|()

constexpr memory_order std::operator| ( memory_order  __m,
__memory_order_modifier  __mod 
)
constexpr

Definition at line 74 of file atomic_base.h.

◆ operator|=() [1/2]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator|= ( __int_type  __i)
inlinenoexcept

Definition at line 335 of file atomic_base.h.

◆ operator|=() [2/2]

template<typename _ITp >
__int_type std::__atomic_base< _ITp >::operator|= ( __int_type  __i) volatile
inlinenoexcept

Definition at line 339 of file atomic_base.h.

◆ store() [1/6]

template<typename _Tp >
void std::atomic< _Tp * >::store ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 441 of file atomic.

◆ store() [2/6]

template<typename _Tp >
void std::atomic< _Tp * >::store ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 446 of file atomic.

◆ store() [3/6]

template<typename _Tp >
void std::atomic< _Tp >::store ( _Tp  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 238 of file atomic.

◆ store() [4/6]

template<typename _Tp >
void std::atomic< _Tp >::store ( _Tp  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 242 of file atomic.

◆ store() [5/6]

void std::atomic< bool >::store ( bool  __i,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 102 of file atomic.

◆ store() [6/6]

void std::atomic< bool >::store ( bool  __i,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 106 of file atomic.

Variable Documentation

◆ _M_b

template<typename _Tp >
__base_type std::atomic< _Tp * >::_M_b

Definition at line 356 of file atomic.

◆ _M_i

__atomic_flag_data_type std::__atomic_flag_base::_M_i

Definition at line 152 of file atomic_base.h.