Classes
Defines
-
#define _ATOMIC_CMPEXCHNG_(__a, __e, __m, __x)
-
#define _ATOMIC_LOAD_(__a, __x)
-
#define _ATOMIC_MODIFY_(__a, __o, __m, __x)
-
#define _ATOMIC_STORE_(__a, __m, __x)
-
#define _GLIBCXX_ATOMIC_NAMESPACE
- #define _GLIBCXX_ATOMIC_PROPERTY
-
#define ATOMIC_ADDRESS_LOCK_FREE
-
#define ATOMIC_FLAG_INIT
-
#define ATOMIC_INTEGRAL_LOCK_FREE
Typedefs
Enumerations
- 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
-
void std::__atomic_flag_wait_explicit (__atomic_flag_base *, memory_order) _GLIBCXX_NOTHROW
-
std::__attribute__ ((__const__)) __atomic_flag_base *__atomic_flag_for_address(const void *__z) _GLIBCXX_NOTHROW
-
memory_order std::__calculate_memory_order (memory_order __m)
-
template<typename _ITp > bool std::atomic_compare_exchange_strong (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
-
bool std::atomic_compare_exchange_strong (atomic_address *__a, void **__v1, void *__v2)
-
bool std::atomic_compare_exchange_strong (atomic_bool *__a, bool *__i1, bool __i2)
-
template<typename _ITp > bool std::atomic_compare_exchange_strong_explicit (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
-
bool std::atomic_compare_exchange_strong_explicit (atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
-
bool std::atomic_compare_exchange_strong_explicit (atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
-
template<typename _ITp > bool std::atomic_compare_exchange_weak (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
-
bool std::atomic_compare_exchange_weak (atomic_address *__a, void **__v1, void *__v2)
-
bool std::atomic_compare_exchange_weak (atomic_bool *__a, bool *__i1, bool __i2)
-
template<typename _ITp > bool std::atomic_compare_exchange_weak_explicit (__atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
-
bool std::atomic_compare_exchange_weak_explicit (atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
-
bool std::atomic_compare_exchange_weak_explicit (atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
-
void * std::atomic_exchange (atomic_address *__a, void *__v)
-
template<typename _ITp > _ITp std::atomic_exchange (__atomic_base< _ITp > *__a, _ITp __i)
-
bool std::atomic_exchange (atomic_bool *__a, bool __i)
-
template<typename _ITp > _ITp std::atomic_exchange_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
void * std::atomic_exchange_explicit (atomic_address *__a, void *__v, memory_order __m)
-
bool std::atomic_exchange_explicit (atomic_bool *__a, bool __i, memory_order __m)
-
void * std::atomic_fetch_add (atomic_address *__a, ptrdiff_t __d)
-
template<typename _ITp > _ITp std::atomic_fetch_add (__atomic_base< _ITp > *__a, _ITp __i)
-
void * std::atomic_fetch_add_explicit (atomic_address *__a, ptrdiff_t __d, memory_order __m)
-
template<typename _ITp > _ITp std::atomic_fetch_add_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
template<typename _ITp > _ITp std::atomic_fetch_and (__atomic_base< _ITp > *__a, _ITp __i)
-
template<typename _ITp > _ITp std::atomic_fetch_and_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
template<typename _ITp > _ITp std::atomic_fetch_or (__atomic_base< _ITp > *__a, _ITp __i)
-
template<typename _ITp > _ITp std::atomic_fetch_or_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
void * std::atomic_fetch_sub (atomic_address *__a, ptrdiff_t __d)
-
template<typename _ITp > _ITp std::atomic_fetch_sub (__atomic_base< _ITp > *__a, _ITp __i)
-
template<typename _ITp > _ITp std::atomic_fetch_sub_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
void * std::atomic_fetch_sub_explicit (atomic_address *__a, ptrdiff_t __d, memory_order __m)
-
template<typename _ITp > _ITp std::atomic_fetch_xor (__atomic_base< _ITp > *__a, _ITp __i)
-
template<typename _ITp > _ITp std::atomic_fetch_xor_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
void std::atomic_flag_clear (__atomic_flag_base *__a)
-
void std::atomic_flag_clear_explicit (atomic_flag *__a, memory_order __m)
-
void std::atomic_flag_clear_explicit (__atomic_flag_base *, memory_order) _GLIBCXX_NOTHROW
-
bool std::atomic_flag_test_and_set (__atomic_flag_base *__a)
-
bool std::atomic_flag_test_and_set_explicit (__atomic_flag_base *, memory_order) _GLIBCXX_NOTHROW
-
bool std::atomic_flag_test_and_set_explicit (atomic_flag *__a, memory_order __m)
-
template<typename _ITp > bool std::atomic_is_lock_free (const __atomic_base< _ITp > *__a)
-
bool std::atomic_is_lock_free (const atomic_address *__a)
-
bool std::atomic_is_lock_free (const atomic_bool *__a)
-
void * std::atomic_load (const atomic_address *__a)
-
template<typename _ITp > _ITp std::atomic_load (const __atomic_base< _ITp > *__a)
-
bool std::atomic_load (const atomic_bool *__a)
-
template<typename _ITp > _ITp std::atomic_load_explicit (const __atomic_base< _ITp > *__a, memory_order __m)
-
void * std::atomic_load_explicit (const atomic_address *__a, memory_order __m)
-
bool std::atomic_load_explicit (const atomic_bool *__a, memory_order __m)
-
void std::atomic_store (atomic_address *__a, void *__v)
-
template<typename _ITp > void std::atomic_store (__atomic_base< _ITp > *__a, _ITp __i)
-
void std::atomic_store (atomic_bool *__a, bool __i)
-
void std::atomic_store_explicit (atomic_bool *__a, bool __i, memory_order __m)
-
template<typename _ITp > void std::atomic_store_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
-
void std::atomic_store_explicit (atomic_address *__a, void *__v, memory_order __m)
-
bool std::atomic< _Tp * >::compare_exchange_strong (_Tp *&, _Tp *, memory_order, memory_order)
-
bool std::atomic< _Tp * >::compare_exchange_strong (_Tp *&, _Tp *, memory_order=memory_order_seq_cst)
-
bool std::atomic< _Tp * >::compare_exchange_weak (_Tp *&, _Tp *, memory_order, memory_order)
-
bool std::atomic< _Tp * >::compare_exchange_weak (_Tp *&, _Tp *, memory_order=memory_order_seq_cst)
-
_Tp * std::atomic< _Tp * >::fetch_add (ptrdiff_t, memory_order=memory_order_seq_cst)
-
_Tp * std::atomic< _Tp * >::fetch_sub (ptrdiff_t, memory_order=memory_order_seq_cst)
- template<typename _Tp > _Tp std::kill_dependency (_Tp __y)
Detailed Description
Components for performing atomic operations.
Define Documentation
#define _GLIBCXX_ATOMIC_PROPERTY |
Typedef Documentation
Enumeration for memory_order.
Enumeration Type Documentation
Function Documentation
template<typename _Tp >
_Tp std::kill_dependency |
( |
_Tp |
__y |
) |
[inline] |
kill_dependency
Definition at line 54 of file atomic.