Classes |
struct | std::__atomic_base< _ITp > |
| Base class for atomic integrals. More...
|
struct | std::__atomic_base< _PTp * > |
| Partial specialization for pointer types. More...
|
struct | std::__atomic_flag_base |
| Base type for atomic_flag. More...
|
struct | std::atomic< _Tp > |
| Generic atomic type, primary class template. More...
|
struct | std::atomic< _Tp * > |
| Partial specialization for pointer types. More...
|
struct | std::atomic< bool > |
| atomic<bool> More...
|
struct | std::atomic< char > |
| Explicit specialization for char. More...
|
struct | std::atomic< char16_t > |
| Explicit specialization for char16_t. More...
|
struct | std::atomic< char32_t > |
| Explicit specialization for char32_t. More...
|
struct | std::atomic< int > |
| Explicit specialization for int. More...
|
struct | std::atomic< long > |
| Explicit specialization for long. More...
|
struct | std::atomic< long long > |
| Explicit specialization for long long. More...
|
struct | std::atomic< short > |
| Explicit specialization for short. More...
|
struct | std::atomic< signed char > |
| Explicit specialization for signed char. More...
|
struct | std::atomic< unsigned char > |
| Explicit specialization for unsigned char. More...
|
struct | std::atomic< unsigned int > |
| Explicit specialization for unsigned int. More...
|
struct | std::atomic< unsigned long > |
| Explicit specialization for unsigned long. More...
|
struct | std::atomic< unsigned long long > |
| Explicit specialization for unsigned long long. More...
|
struct | std::atomic< unsigned short > |
| Explicit specialization for unsigned short. More...
|
struct | std::atomic< wchar_t > |
| Explicit specialization for wchar_t. More...
|
struct | std::atomic_flag |
| atomic_flag More...
|
Defines |
#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_t > | std::atomic_char16_t |
typedef atomic< char32_t > | std::atomic_char32_t |
typedef atomic< int > | std::atomic_int |
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< 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 |
| std::__attribute__ ((__always_inline__)) void atomic_thread_fence(memory_order __m) noexcept |
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 (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 (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 (volatile __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< _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 (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 (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 (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_sub_explicit (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 |
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) |
Components for performing atomic operations.