libstdc++
|
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 |
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 |
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 |
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, __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 |
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 > | |
_Tp | std::kill_dependency (_Tp __y) noexcept |
constexpr memory_order | std::operator& (memory_order __m, __memory_order_modifier __mod) noexcept |
constexpr memory_order | std::operator| (memory_order __m, __memory_order_modifier __mod) noexcept |
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 |
Components for performing atomic operations.
#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.
#define ATOMIC_CHAR16_T_LOCK_FREE |
Definition at line 55 of file atomic_lockfree_defines.h.
#define ATOMIC_CHAR32_T_LOCK_FREE |
Definition at line 56 of file atomic_lockfree_defines.h.
#define ATOMIC_CHAR_LOCK_FREE |
Definition at line 50 of file atomic_lockfree_defines.h.
#define ATOMIC_FLAG_INIT |
Definition at line 206 of file atomic_base.h.
#define ATOMIC_INT_LOCK_FREE |
Definition at line 58 of file atomic_lockfree_defines.h.
#define ATOMIC_LLONG_LOCK_FREE |
Definition at line 60 of file atomic_lockfree_defines.h.
#define ATOMIC_LONG_LOCK_FREE |
Definition at line 59 of file atomic_lockfree_defines.h.
#define ATOMIC_POINTER_LOCK_FREE |
Definition at line 61 of file atomic_lockfree_defines.h.
#define ATOMIC_SHORT_LOCK_FREE |
Definition at line 57 of file atomic_lockfree_defines.h.
#define ATOMIC_VAR_INIT | ( | _VI | ) |
Definition at line 168 of file atomic_base.h.
#define ATOMIC_WCHAR_T_LOCK_FREE |
Definition at line 51 of file atomic_lockfree_defines.h.
typedef unsigned char std::__atomic_flag_data_type |
Definition at line 180 of file atomic_base.h.
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 |
|
strong |
Enumeration for memory_order.
Definition at line 63 of file atomic_base.h.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 148 of file atomic_base.h.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 144 of file atomic_base.h.
|
inlinenoexcept |
kill_dependency
Definition at line 154 of file atomic_base.h.
|
constexprnoexcept |
Definition at line 108 of file atomic_base.h.
|
constexprnoexcept |
Definition at line 102 of file atomic_base.h.
|
inlineconstexpr |
Definition at line 77 of file atomic_base.h.
|
inlineconstexpr |
Definition at line 75 of file atomic_base.h.
|
inlineconstexpr |
Definition at line 74 of file atomic_base.h.
|
inlineconstexpr |
Definition at line 73 of file atomic_base.h.
|
inlineconstexpr |
Definition at line 76 of file atomic_base.h.
|
inlineconstexpr |
Definition at line 78 of file atomic_base.h.