libstdc++
Atomics

Classes

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
 
struct  std::atomic_ref< _Tp >
 

Macros

#define __cpp_lib_atomic_float
 
#define __cpp_lib_atomic_is_always_lock_free
 
#define __cpp_lib_atomic_ref
 
#define __cpp_lib_atomic_value_initialization
 
#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< bool > std::atomic_bool
 
typedef atomic< char > std::atomic_char
 
typedef atomic< char16_tstd::atomic_char16_t
 
typedef atomic< char32_tstd::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_tstd::atomic_int8_t
 
typedef atomic< int_fast16_tstd::atomic_int_fast16_t
 
typedef atomic< int_fast32_tstd::atomic_int_fast32_t
 
typedef atomic< int_fast64_tstd::atomic_int_fast64_t
 
typedef atomic< int_fast8_tstd::atomic_int_fast8_t
 
typedef atomic< int_least16_tstd::atomic_int_least16_t
 
typedef atomic< int_least32_tstd::atomic_int_least32_t
 
typedef atomic< int_least64_tstd::atomic_int_least64_t
 
typedef atomic< int_least8_tstd::atomic_int_least8_t
 
typedef atomic< intmax_tstd::atomic_intmax_t
 
typedef atomic< intptr_tstd::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_tstd::atomic_uint8_t
 
typedef atomic< uint_fast16_tstd::atomic_uint_fast16_t
 
typedef atomic< uint_fast32_t > std::atomic_uint_fast32_t
 
typedef atomic< uint_fast64_tstd::atomic_uint_fast64_t
 
typedef atomic< uint_fast8_tstd::atomic_uint_fast8_t
 
typedef atomic< uint_least16_tstd::atomic_uint_least16_t
 
typedef atomic< uint_least32_t > std::atomic_uint_least32_t
 
typedef atomic< uint_least64_tstd::atomic_uint_least64_t
 
typedef atomic< uint_least8_tstd::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
 

Enumerations

enum class  std::memory_order : int {
  relaxed , consume , acquire , release ,
  acq_rel , seq_cst
}
 

Functions

template<typename _ITp >
bool std::atomic_compare_exchange_strong (atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_strong (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_strong_explicit (atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2, memory_order __m1, memory_order __m2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_strong_explicit (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2, memory_order __m1, memory_order __m2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_weak (atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_weak (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_weak_explicit (atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2, memory_order __m1, memory_order __m2) noexcept
 
template<typename _ITp >
bool std::atomic_compare_exchange_weak_explicit (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > *__i1, __atomic_val_t< _ITp > __i2, memory_order __m1, memory_order __m2) noexcept
 
template<typename _ITp >
_ITp std::atomic_exchange (atomic< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_exchange (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_exchange_explicit (atomic< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_exchange_explicit (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_add (atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_add (volatile atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_add_explicit (atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_add_explicit (volatile atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_and (__atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_and (volatile __atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_and_explicit (__atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_and_explicit (volatile __atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_or (__atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_or (volatile __atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_or_explicit (__atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_or_explicit (volatile __atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_sub (atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_sub (volatile atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_sub_explicit (atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_sub_explicit (volatile atomic< _ITp > *__a, __atomic_diff_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_xor (__atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_xor (volatile __atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_xor_explicit (__atomic_base< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
_ITp std::atomic_fetch_xor_explicit (volatile __atomic_base< _ITp > *__a, __atomic_val_t< _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
 
void std::atomic_flag_notify_all (atomic_flag *__a) noexcept
 
void std::atomic_flag_notify_one (atomic_flag *__a) noexcept
 
bool std::atomic_flag_test (const atomic_flag *__a) noexcept
 
bool std::atomic_flag_test (const volatile atomic_flag *__a) 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
 
bool std::atomic_flag_test_explicit (const atomic_flag *__a, memory_order __m) noexcept
 
bool std::atomic_flag_test_explicit (const volatile atomic_flag *__a, memory_order __m) noexcept
 
void std::atomic_flag_wait (atomic_flag *__a, bool __old) noexcept
 
void std::atomic_flag_wait_explicit (atomic_flag *__a, bool __old, memory_order __m) noexcept
 
template<typename _ITp >
void std::atomic_init (atomic< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
void std::atomic_init (volatile atomic< _ITp > *__a, __atomic_val_t< _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 _Tp >
void std::atomic_notify_all (atomic< _Tp > *__a) noexcept
 
template<typename _Tp >
void std::atomic_notify_one (atomic< _Tp > *__a) noexcept
 
void std::atomic_signal_fence (memory_order __m) noexcept
 
template<typename _ITp >
void std::atomic_store (atomic< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
void std::atomic_store (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > __i) noexcept
 
template<typename _ITp >
void std::atomic_store_explicit (atomic< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
template<typename _ITp >
void std::atomic_store_explicit (volatile atomic< _ITp > *__a, __atomic_val_t< _ITp > __i, memory_order __m) noexcept
 
void std::atomic_thread_fence (memory_order __m) noexcept
 
template<typename _Tp >
void std::atomic_wait (const atomic< _Tp > *__a, typename std::atomic< _Tp >::value_type __old) noexcept
 
template<typename _Tp >
void std::atomic_wait_explicit (const atomic< _Tp > *__a, typename std::atomic< _Tp >::value_type __old, std::memory_order __m) noexcept
 
template<typename _Tp >
_Tp std::kill_dependency (_Tp __y) noexcept
 
constexpr memory_order std::operator& (memory_order __m, __memory_order_modifier __mod)
 
constexpr memory_order std::operator| (memory_order __m, __memory_order_modifier __mod)
 

Variables

constexpr memory_order std::memory_order_acq_rel
 
constexpr memory_order std::memory_order_acquire
 
constexpr memory_order std::memory_order_consume
 
constexpr memory_order std::memory_order_relaxed
 
constexpr memory_order std::memory_order_release
 
constexpr memory_order std::memory_order_seq_cst
 

Detailed Description

Components for performing atomic operations.

Macro Definition Documentation

◆ __cpp_lib_atomic_float

#define __cpp_lib_atomic_float

Definition at line 1625 of file atomic.

◆ __cpp_lib_atomic_is_always_lock_free

#define __cpp_lib_atomic_is_always_lock_free

Definition at line 53 of file atomic.

◆ __cpp_lib_atomic_ref

#define __cpp_lib_atomic_ref

Definition at line 1671 of file atomic.

◆ __cpp_lib_atomic_value_initialization

#define __cpp_lib_atomic_value_initialization

Definition at line 159 of file atomic_base.h.

◆ 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 55 of file atomic_lockfree_defines.h.

◆ ATOMIC_CHAR32_T_LOCK_FREE

#define ATOMIC_CHAR32_T_LOCK_FREE

Definition at line 56 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 208 of file atomic_base.h.

◆ ATOMIC_INT_LOCK_FREE

#define ATOMIC_INT_LOCK_FREE

Definition at line 58 of file atomic_lockfree_defines.h.

◆ ATOMIC_LLONG_LOCK_FREE

#define ATOMIC_LLONG_LOCK_FREE

Definition at line 60 of file atomic_lockfree_defines.h.

◆ ATOMIC_LONG_LOCK_FREE

#define ATOMIC_LONG_LOCK_FREE

Definition at line 59 of file atomic_lockfree_defines.h.

◆ ATOMIC_POINTER_LOCK_FREE

#define ATOMIC_POINTER_LOCK_FREE

Definition at line 61 of file atomic_lockfree_defines.h.

◆ ATOMIC_SHORT_LOCK_FREE

#define ATOMIC_SHORT_LOCK_FREE

Definition at line 57 of file atomic_lockfree_defines.h.

◆ ATOMIC_VAR_INIT

#define ATOMIC_VAR_INIT (   _VI)

Definition at line 170 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

Definition at line 182 of file atomic_base.h.

◆ atomic_bool

atomic_bool

Definition at line 1061 of file atomic.

◆ atomic_char

atomic_char

Definition at line 1064 of file atomic.

◆ atomic_char16_t

atomic_char16_t

Definition at line 1105 of file atomic.

◆ atomic_char32_t

atomic_char32_t

Definition at line 1108 of file atomic.

◆ atomic_int

atomic_int

Definition at line 1079 of file atomic.

◆ atomic_int16_t

atomic_int16_t

Definition at line 1121 of file atomic.

◆ atomic_int32_t

atomic_int32_t

Definition at line 1127 of file atomic.

◆ atomic_int64_t

atomic_int64_t

Definition at line 1133 of file atomic.

◆ atomic_int8_t

atomic_int8_t

Definition at line 1115 of file atomic.

◆ atomic_int_fast16_t

atomic_int_fast16_t

Definition at line 1171 of file atomic.

◆ atomic_int_fast32_t

atomic_int_fast32_t

Definition at line 1177 of file atomic.

◆ atomic_int_fast64_t

atomic_int_fast64_t

Definition at line 1183 of file atomic.

◆ atomic_int_fast8_t

atomic_int_fast8_t

Definition at line 1165 of file atomic.

◆ atomic_int_least16_t

atomic_int_least16_t

Definition at line 1146 of file atomic.

◆ atomic_int_least32_t

atomic_int_least32_t

Definition at line 1152 of file atomic.

◆ atomic_int_least64_t

atomic_int_least64_t

Definition at line 1158 of file atomic.

◆ atomic_int_least8_t

atomic_int_least8_t

Definition at line 1140 of file atomic.

◆ atomic_intmax_t

atomic_intmax_t

Definition at line 1204 of file atomic.

◆ atomic_intptr_t

atomic_intptr_t

Definition at line 1191 of file atomic.

◆ atomic_llong

atomic_llong

Definition at line 1091 of file atomic.

◆ atomic_long

atomic_long

Definition at line 1085 of file atomic.

◆ atomic_ptrdiff_t

atomic_ptrdiff_t

Definition at line 1200 of file atomic.

◆ atomic_schar

atomic_schar

Definition at line 1067 of file atomic.

◆ atomic_short

atomic_short

Definition at line 1073 of file atomic.

◆ atomic_size_t

atomic_size_t

Definition at line 1197 of file atomic.

◆ atomic_uchar

atomic_uchar

Definition at line 1070 of file atomic.

◆ atomic_uint

atomic_uint

Definition at line 1082 of file atomic.

◆ atomic_uint16_t

atomic_uint16_t

Definition at line 1124 of file atomic.

◆ atomic_uint32_t

atomic_uint32_t

Definition at line 1130 of file atomic.

◆ atomic_uint64_t

atomic_uint64_t

Definition at line 1136 of file atomic.

◆ atomic_uint8_t

atomic_uint8_t

Definition at line 1118 of file atomic.

◆ atomic_uint_fast16_t

atomic_uint_fast16_t

Definition at line 1174 of file atomic.

◆ atomic_uint_fast32_t

atomic_uint_fast32_t

Definition at line 1180 of file atomic.

◆ atomic_uint_fast64_t

atomic_uint_fast64_t

Definition at line 1186 of file atomic.

◆ atomic_uint_fast8_t

atomic_uint_fast8_t

Definition at line 1168 of file atomic.

◆ atomic_uint_least16_t

atomic_uint_least16_t

Definition at line 1149 of file atomic.

◆ atomic_uint_least32_t

atomic_uint_least32_t

Definition at line 1155 of file atomic.

◆ atomic_uint_least64_t

atomic_uint_least64_t

Definition at line 1161 of file atomic.

◆ atomic_uint_least8_t

atomic_uint_least8_t

Definition at line 1143 of file atomic.

◆ atomic_uintmax_t

atomic_uintmax_t

Definition at line 1207 of file atomic.

◆ atomic_uintptr_t

atomic_uintptr_t

Definition at line 1194 of file atomic.

◆ atomic_ullong

typedef atomic<unsigned long long> std::atomic_ullong

atomic_ullong

Definition at line 1094 of file atomic.

◆ atomic_ulong

atomic_ulong

Definition at line 1088 of file atomic.

◆ atomic_ushort

atomic_ushort

Definition at line 1076 of file atomic.

◆ atomic_wchar_t

atomic_wchar_t

Definition at line 1097 of file atomic.

Enumeration Type Documentation

◆ memory_order

Enumeration for memory_order.

Definition at line 61 of file atomic_base.h.

Function Documentation

◆ atomic_compare_exchange_strong() [1/2]

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

Definition at line 1444 of file atomic.

◆ atomic_compare_exchange_strong() [2/2]

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

Definition at line 1455 of file atomic.

◆ atomic_compare_exchange_strong_explicit() [1/2]

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

Definition at line 1372 of file atomic.

◆ atomic_compare_exchange_strong_explicit() [2/2]

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

Definition at line 1381 of file atomic.

◆ atomic_compare_exchange_weak() [1/2]

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

Definition at line 1422 of file atomic.

◆ atomic_compare_exchange_weak() [2/2]

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

Definition at line 1433 of file atomic.

◆ atomic_compare_exchange_weak_explicit() [1/2]

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

Definition at line 1354 of file atomic.

◆ atomic_compare_exchange_weak_explicit() [2/2]

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

Definition at line 1363 of file atomic.

◆ atomic_exchange() [1/2]

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

Definition at line 1411 of file atomic.

◆ atomic_exchange() [2/2]

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

Definition at line 1416 of file atomic.

◆ atomic_exchange_explicit() [1/2]

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

Definition at line 1341 of file atomic.

◆ atomic_exchange_explicit() [2/2]

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

Definition at line 1347 of file atomic.

◆ atomic_fetch_add() [1/2]

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

Definition at line 1566 of file atomic.

◆ atomic_fetch_add() [2/2]

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

Definition at line 1572 of file atomic.

◆ atomic_fetch_add_explicit() [1/2]

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

Definition at line 1496 of file atomic.

◆ atomic_fetch_add_explicit() [2/2]

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

Definition at line 1503 of file atomic.

◆ atomic_fetch_and() [1/2]

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

Definition at line 1590 of file atomic.

◆ atomic_fetch_and() [2/2]

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

Definition at line 1596 of file atomic.

◆ atomic_fetch_and_explicit() [1/2]

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

Definition at line 1524 of file atomic.

◆ atomic_fetch_and_explicit() [2/2]

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

Definition at line 1531 of file atomic.

◆ atomic_fetch_or() [1/2]

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

Definition at line 1602 of file atomic.

◆ atomic_fetch_or() [2/2]

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

Definition at line 1608 of file atomic.

◆ atomic_fetch_or_explicit() [1/2]

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

Definition at line 1538 of file atomic.

◆ atomic_fetch_or_explicit() [2/2]

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

Definition at line 1545 of file atomic.

◆ atomic_fetch_sub() [1/2]

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

Definition at line 1578 of file atomic.

◆ atomic_fetch_sub() [2/2]

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

Definition at line 1584 of file atomic.

◆ atomic_fetch_sub_explicit() [1/2]

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

Definition at line 1510 of file atomic.

◆ atomic_fetch_sub_explicit() [2/2]

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

Definition at line 1517 of file atomic.

◆ atomic_fetch_xor() [1/2]

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

Definition at line 1614 of file atomic.

◆ atomic_fetch_xor() [2/2]

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

Definition at line 1620 of file atomic.

◆ atomic_fetch_xor_explicit() [1/2]

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

Definition at line 1552 of file atomic.

◆ atomic_fetch_xor_explicit() [2/2]

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

Definition at line 1559 of file atomic.

◆ atomic_flag_clear() [1/2]

void std::atomic_flag_clear ( atomic_flag __a)
inlinenoexcept

Definition at line 1259 of file atomic.

◆ atomic_flag_clear() [2/2]

void std::atomic_flag_clear ( volatile atomic_flag __a)
inlinenoexcept

Definition at line 1263 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 1242 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 1246 of file atomic.

◆ atomic_flag_notify_all()

void std::atomic_flag_notify_all ( atomic_flag __a)
inlinenoexcept

Definition at line 1281 of file atomic.

◆ atomic_flag_notify_one()

void std::atomic_flag_notify_one ( atomic_flag __a)
inlinenoexcept

Definition at line 1277 of file atomic.

◆ atomic_flag_test() [1/2]

bool std::atomic_flag_test ( const atomic_flag __a)
inlinenoexcept

Definition at line 1223 of file atomic.

◆ atomic_flag_test() [2/2]

bool std::atomic_flag_test ( const volatile atomic_flag __a)
inlinenoexcept

Definition at line 1227 of file atomic.

◆ atomic_flag_test_and_set() [1/2]

bool std::atomic_flag_test_and_set ( atomic_flag __a)
inlinenoexcept

Definition at line 1251 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 1255 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 1212 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 1217 of file atomic.

◆ atomic_flag_test_explicit() [1/2]

bool std::atomic_flag_test_explicit ( const atomic_flag __a,
memory_order  __m 
)
inlinenoexcept

Definition at line 1231 of file atomic.

◆ atomic_flag_test_explicit() [2/2]

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

Definition at line 1236 of file atomic.

◆ atomic_flag_wait()

void std::atomic_flag_wait ( atomic_flag __a,
bool  __old 
)
inlinenoexcept

Definition at line 1268 of file atomic.

◆ atomic_flag_wait_explicit()

void std::atomic_flag_wait_explicit ( atomic_flag __a,
bool  __old,
memory_order  __m 
)
inlinenoexcept

Definition at line 1272 of file atomic.

◆ atomic_init() [1/2]

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

Definition at line 1308 of file atomic.

◆ atomic_init() [2/2]

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

Definition at line 1313 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 1298 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 1303 of file atomic.

◆ atomic_load() [1/2]

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

Definition at line 1401 of file atomic.

◆ atomic_load() [2/2]

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

Definition at line 1406 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 1330 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 1335 of file atomic.

◆ atomic_notify_all()

template<typename _Tp >
void std::atomic_notify_all ( atomic< _Tp > *  __a)
inlinenoexcept

Definition at line 1486 of file atomic.

◆ atomic_notify_one()

template<typename _Tp >
void std::atomic_notify_one ( atomic< _Tp > *  __a)
inlinenoexcept

Definition at line 1481 of file atomic.

◆ atomic_signal_fence()

void std::atomic_signal_fence ( memory_order  __m)
inlinenoexcept

Definition at line 146 of file atomic_base.h.

◆ atomic_store() [1/2]

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

Definition at line 1391 of file atomic.

◆ atomic_store() [2/2]

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

Definition at line 1396 of file atomic.

◆ atomic_store_explicit() [1/2]

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

Definition at line 1318 of file atomic.

◆ atomic_store_explicit() [2/2]

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

Definition at line 1324 of file atomic.

◆ atomic_thread_fence()

void std::atomic_thread_fence ( memory_order  __m)
inlinenoexcept

Definition at line 142 of file atomic_base.h.

◆ atomic_wait()

template<typename _Tp >
void std::atomic_wait ( const atomic< _Tp > *  __a,
typename std::atomic< _Tp >::value_type  __old 
)
inlinenoexcept

Definition at line 1468 of file atomic.

◆ atomic_wait_explicit()

template<typename _Tp >
void std::atomic_wait_explicit ( const atomic< _Tp > *  __a,
typename std::atomic< _Tp >::value_type  __old,
std::memory_order  __m 
)
inlinenoexcept

Definition at line 1474 of file atomic.

◆ kill_dependency()

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

kill_dependency

Definition at line 152 of file atomic_base.h.

◆ operator&()

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

Definition at line 106 of file atomic_base.h.

◆ operator|()

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

Definition at line 100 of file atomic_base.h.

Variable Documentation

◆ memory_order_acq_rel

constexpr memory_order std::memory_order_acq_rel
inlineconstexpr

Definition at line 75 of file atomic_base.h.

◆ memory_order_acquire

constexpr memory_order std::memory_order_acquire
inlineconstexpr

Definition at line 73 of file atomic_base.h.

◆ memory_order_consume

constexpr memory_order std::memory_order_consume
inlineconstexpr

Definition at line 72 of file atomic_base.h.

◆ memory_order_relaxed

constexpr memory_order std::memory_order_relaxed
inlineconstexpr

Definition at line 71 of file atomic_base.h.

◆ memory_order_release

constexpr memory_order std::memory_order_release
inlineconstexpr

Definition at line 74 of file atomic_base.h.

◆ memory_order_seq_cst

constexpr memory_order std::memory_order_seq_cst
inlineconstexpr

Definition at line 76 of file atomic_base.h.