libstdc++
|
Classes | |
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_bool |
Macros | |
#define | _GLIBCXX_ATOMIC_NAMESPACE |
#define | _GLIBCXX_ATOMIC_PROPERTY |
#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_SHORT_LOCK_FREE |
#define | ATOMIC_VAR_INIT(_VI) |
#define | ATOMIC_WCHAR_T_LOCK_FREE |
Typedefs | |
typedef __atomic_base< char > | std::atomic_char |
typedef __atomic_base< char16_t > | std::atomic_char16_t |
typedef __atomic_base< char32_t > | std::atomic_char32_t |
typedef __atomic_base< int > | std::atomic_int |
typedef __atomic_base < int_fast16_t > | std::atomic_int_fast16_t |
typedef __atomic_base < int_fast32_t > | std::atomic_int_fast32_t |
typedef __atomic_base < int_fast64_t > | std::atomic_int_fast64_t |
typedef __atomic_base < int_fast8_t > | std::atomic_int_fast8_t |
typedef __atomic_base < int_least16_t > | std::atomic_int_least16_t |
typedef __atomic_base < int_least32_t > | std::atomic_int_least32_t |
typedef __atomic_base < int_least64_t > | std::atomic_int_least64_t |
typedef __atomic_base < int_least8_t > | std::atomic_int_least8_t |
typedef __atomic_base< intmax_t > | std::atomic_intmax_t |
typedef __atomic_base< intptr_t > | std::atomic_intptr_t |
typedef __atomic_base< long long > | std::atomic_llong |
typedef __atomic_base< long > | std::atomic_long |
typedef __atomic_base< ptrdiff_t > | std::atomic_ptrdiff_t |
typedef __atomic_base< signed char > | std::atomic_schar |
typedef __atomic_base< short > | std::atomic_short |
typedef __atomic_base< size_t > | std::atomic_size_t |
typedef __atomic_base < unsigned char > | std::atomic_uchar |
typedef __atomic_base < unsigned int > | std::atomic_uint |
typedef __atomic_base < uint_fast16_t > | std::atomic_uint_fast16_t |
typedef __atomic_base < uint_fast32_t > | std::atomic_uint_fast32_t |
typedef __atomic_base < uint_fast64_t > | std::atomic_uint_fast64_t |
typedef __atomic_base < uint_fast8_t > | std::atomic_uint_fast8_t |
typedef __atomic_base < uint_least16_t > | std::atomic_uint_least16_t |
typedef __atomic_base < uint_least32_t > | std::atomic_uint_least32_t |
typedef __atomic_base < uint_least64_t > | std::atomic_uint_least64_t |
typedef __atomic_base < uint_least8_t > | std::atomic_uint_least8_t |
typedef __atomic_base< uintmax_t > | std::atomic_uintmax_t |
typedef __atomic_base< uintptr_t > | std::atomic_uintptr_t |
typedef __atomic_base < unsigned long long > | std::atomic_ullong |
typedef __atomic_base < unsigned long > | std::atomic_ulong |
typedef __atomic_base < unsigned short > | std::atomic_ushort |
typedef __atomic_base< wchar_t > | std::atomic_wchar_t |
typedef enum std::memory_order | std::memory_order |
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 | |
memory_order | std::__calculate_memory_order (memory_order __m) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_strong (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_strong (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_strong_explicit (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_strong_explicit (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_weak (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_weak (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_weak_explicit (atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_weak_explicit (volatile atomic< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2) |
template<typename _ITp > | |
_ITp | std::atomic_exchange (atomic< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp | std::atomic_exchange (volatile atomic< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp | std::atomic_exchange_explicit (atomic< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_exchange_explicit (volatile atomic< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_add (__atomic_base< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_add (volatile __atomic_base< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_add (volatile atomic< _ITp * > *__a, ptrdiff_t __d) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_add (atomic< _ITp * > *__a, ptrdiff_t __d) |
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_add_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_add_explicit (atomic< _ITp * > *__a, ptrdiff_t __d, memory_order __m) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_add_explicit (volatile atomic< _ITp * > *__a, ptrdiff_t __d, 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 (volatile __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_and_explicit (volatile __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 (volatile __atomic_base< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_or_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_or_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_sub (__atomic_base< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_sub (volatile __atomic_base< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_sub (volatile atomic< _ITp * > *__a, ptrdiff_t __d) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_sub (atomic< _ITp * > *__a, ptrdiff_t __d) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_sub_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_sub_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_sub_explicit (volatile atomic< _ITp * > *__a, ptrdiff_t __d, memory_order __m) |
template<typename _ITp > | |
_ITp * | std::atomic_fetch_sub_explicit (atomic< _ITp * > *__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 (volatile __atomic_base< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_xor_explicit (__atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_xor_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
void | std::atomic_flag_clear (atomic_flag *__a) |
void | std::atomic_flag_clear (volatile atomic_flag *__a) |
void | std::atomic_flag_clear_explicit (atomic_flag *__a, memory_order __m) |
void | std::atomic_flag_clear_explicit (volatile atomic_flag *__a, memory_order __m) |
bool | std::atomic_flag_test_and_set (atomic_flag *__a) |
bool | std::atomic_flag_test_and_set (volatile atomic_flag *__a) |
bool | std::atomic_flag_test_and_set_explicit (atomic_flag *__a, memory_order __m) |
bool | std::atomic_flag_test_and_set_explicit (volatile atomic_flag *__a, memory_order __m) |
template<typename _ITp > | |
void | std::atomic_init (atomic< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
void | std::atomic_init (volatile atomic< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
bool | std::atomic_is_lock_free (const atomic< _ITp > *__a) |
template<typename _ITp > | |
bool | std::atomic_is_lock_free (const volatile atomic< _ITp > *__a) |
template<typename _ITp > | |
_ITp | std::atomic_load (const atomic< _ITp > *__a) |
template<typename _ITp > | |
_ITp | std::atomic_load (const volatile atomic< _ITp > *__a) |
template<typename _ITp > | |
_ITp | std::atomic_load_explicit (const atomic< _ITp > *__a, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_load_explicit (const volatile atomic< _ITp > *__a, memory_order __m) |
void | std::atomic_signal_fence (memory_order) |
template<typename _ITp > | |
void | std::atomic_store (atomic< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
void | std::atomic_store (volatile atomic< _ITp > *__a, _ITp __i) |
template<typename _ITp > | |
void | std::atomic_store_explicit (atomic< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _ITp > | |
void | std::atomic_store_explicit (volatile atomic< _ITp > *__a, _ITp __i, memory_order __m) |
void | std::atomic_thread_fence (memory_order) |
template<typename _Tp > | |
_Tp | std::kill_dependency (_Tp __y) |
Components for performing atomic operations.
#define _GLIBCXX_ATOMIC_PROPERTY |
Lock-free Property.
Definition at line 145 of file atomic_base.h.
typedef __atomic_base<char> std::atomic_char |
atomic_char
Definition at line 168 of file atomic_base.h.
typedef __atomic_base<char16_t> std::atomic_char16_t |
atomic_char16_t
Definition at line 204 of file atomic_base.h.
typedef __atomic_base< char32_t > std::atomic_char32_t |
atomic_char32_t
Definition at line 207 of file atomic_base.h.
typedef __atomic_base<int> std::atomic_int |
atomic_int
Definition at line 183 of file atomic_base.h.
typedef __atomic_base<int_fast16_t> std::atomic_int_fast16_t |
atomic_int_fast16_t
Definition at line 245 of file atomic_base.h.
typedef __atomic_base<int_fast32_t> std::atomic_int_fast32_t |
atomic_int_fast32_t
Definition at line 251 of file atomic_base.h.
typedef __atomic_base<int_fast64_t> std::atomic_int_fast64_t |
atomic_int_fast64_t
Definition at line 257 of file atomic_base.h.
typedef __atomic_base<int_fast8_t> std::atomic_int_fast8_t |
atomic_int_fast8_t
Definition at line 239 of file atomic_base.h.
typedef __atomic_base<int_least16_t> std::atomic_int_least16_t |
atomic_int_least16_t
Definition at line 220 of file atomic_base.h.
typedef __atomic_base<int_least32_t> std::atomic_int_least32_t |
atomic_int_least32_t
Definition at line 226 of file atomic_base.h.
typedef __atomic_base<int_least64_t> std::atomic_int_least64_t |
atomic_int_least64_t
Definition at line 232 of file atomic_base.h.
typedef __atomic_base<int_least8_t> std::atomic_int_least8_t |
atomic_int_least8_t
Definition at line 214 of file atomic_base.h.
typedef __atomic_base<intmax_t> std::atomic_intmax_t |
atomic_intmax_t
Definition at line 273 of file atomic_base.h.
typedef __atomic_base<intptr_t> std::atomic_intptr_t |
atomic_intptr_t
Definition at line 264 of file atomic_base.h.
typedef __atomic_base<long long> std::atomic_llong |
atomic_llong
Definition at line 195 of file atomic_base.h.
typedef __atomic_base<long> std::atomic_long |
atomic_long
Definition at line 189 of file atomic_base.h.
typedef __atomic_base<ptrdiff_t> std::atomic_ptrdiff_t |
atomic_ptrdiff_t
Definition at line 279 of file atomic_base.h.
typedef __atomic_base<signed char> std::atomic_schar |
atomic_schar
Definition at line 171 of file atomic_base.h.
typedef __atomic_base<short> std::atomic_short |
atomic_short
Definition at line 177 of file atomic_base.h.
typedef __atomic_base<size_t> std::atomic_size_t |
atomic_size_t
Definition at line 270 of file atomic_base.h.
typedef __atomic_base<unsigned char> std::atomic_uchar |
atomic_uchar
Definition at line 174 of file atomic_base.h.
typedef __atomic_base<unsigned int> std::atomic_uint |
atomic_uint
Definition at line 186 of file atomic_base.h.
typedef __atomic_base<uint_fast16_t> std::atomic_uint_fast16_t |
atomic_uint_fast16_t
Definition at line 248 of file atomic_base.h.
typedef __atomic_base<uint_fast32_t> std::atomic_uint_fast32_t |
atomic_uint_fast32_t
Definition at line 254 of file atomic_base.h.
typedef __atomic_base<uint_fast64_t> std::atomic_uint_fast64_t |
atomic_uint_fast64_t
Definition at line 260 of file atomic_base.h.
typedef __atomic_base<uint_fast8_t> std::atomic_uint_fast8_t |
atomic_uint_fast8_t
Definition at line 242 of file atomic_base.h.
typedef __atomic_base<uint_least16_t> std::atomic_uint_least16_t |
atomic_uint_least16_t
Definition at line 223 of file atomic_base.h.
typedef __atomic_base<uint_least32_t> std::atomic_uint_least32_t |
atomic_uint_least32_t
Definition at line 229 of file atomic_base.h.
typedef __atomic_base<uint_least64_t> std::atomic_uint_least64_t |
atomic_uint_least64_t
Definition at line 235 of file atomic_base.h.
typedef __atomic_base<uint_least8_t> std::atomic_uint_least8_t |
atomic_uint_least8_t
Definition at line 217 of file atomic_base.h.
typedef __atomic_base<uintmax_t> std::atomic_uintmax_t |
atomic_uintmax_t
Definition at line 276 of file atomic_base.h.
typedef __atomic_base<uintptr_t> std::atomic_uintptr_t |
atomic_uintptr_t
Definition at line 267 of file atomic_base.h.
typedef __atomic_base<unsigned long long> std::atomic_ullong |
atomic_ullong
Definition at line 198 of file atomic_base.h.
typedef __atomic_base<unsigned long> std::atomic_ulong |
atomic_ulong
Definition at line 192 of file atomic_base.h.
typedef __atomic_base<unsigned short> std::atomic_ushort |
atomic_ushort
Definition at line 180 of file atomic_base.h.
typedef __atomic_base<wchar_t> std::atomic_wchar_t |
atomic_wchar_t
Definition at line 201 of file atomic_base.h.
typedef enum std::memory_order std::memory_order |
Enumeration for memory_order.
enum std::memory_order |
Enumeration for memory_order.
Definition at line 51 of file atomic_base.h.
|
inline |
kill_dependency
Definition at line 80 of file atomic_base.h.