Atomics(3)

NAME
Atomics -

  Classes
struct std::atomic< _Tp >
atomic 29.4.3, Generic atomic type, primary class template.
struct std::atomic< _Tp * >
Partial specialization for pointer types.
struct std::atomic< bool >
Explicit specialization for bool.
struct std::atomic< char >
Explicit specialization for char.
struct std::atomic< char16_t >
Explicit specialization for char16_t.
struct std::atomic< char32_t >
Explicit specialization for char32_t.
struct std::atomic< int >
Explicit specialization for int.
struct std::atomic< long >
Explicit specialization for long.
struct std::atomic< long long >
Explicit specialization for long long.
struct std::atomic< short >
Explicit specialization for short.
struct std::atomic< signed char >
Explicit specialization for signed char.
struct std::atomic< unsigned char >
Explicit specialization for unsigned char.
struct std::atomic< unsigned int >
Explicit specialization for unsigned int.
struct std::atomic< unsigned long >
Explicit specialization for unsigned long.
struct std::atomic< unsigned long long >
Explicit specialization for unsigned long long.
struct std::atomic< unsigned short >
Explicit specialization for unsigned short.
struct std::atomic< void * >
Explicit specialization for void*.
struct std::atomic< wchar_t >
Explicit specialization for wchar_t.

  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
typedef struct std::__atomic_flag_base std::__atomic_flag_base
typedef atomic_short std::atomic_int_fast16_t
typedef atomic_int std::atomic_int_fast32_t
typedef atomic_llong std::atomic_int_fast64_t
typedef atomic_schar std::atomic_int_fast8_t
typedef atomic_short std::atomic_int_least16_t
typedef atomic_int std::atomic_int_least32_t
typedef atomic_llong std::atomic_int_least64_t
typedef atomic_schar std::atomic_int_least8_t
typedef atomic_llong std::atomic_intmax_t
typedef atomic_long std::atomic_intptr_t
typedef atomic_long std::atomic_ptrdiff_t
typedef atomic_ulong std::atomic_size_t
typedef atomic_long std::atomic_ssize_t
typedef atomic_ushort std::atomic_uint_fast16_t
typedef atomic_uint std::atomic_uint_fast32_t
typedef atomic_ullong std::atomic_uint_fast64_t
typedef atomic_uchar std::atomic_uint_fast8_t
typedef atomic_ushort std::atomic_uint_least16_t
typedef atomic_uint std::atomic_uint_least32_t
typedef atomic_ullong std::atomic_uint_least64_t
typedef atomic_uchar std::atomic_uint_least8_t
typedef atomic_ullong std::atomic_uintmax_t
typedef atomic_ulong std::atomic_uintptr_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
volatile __atomic_flag_base * std::__atomic_flag_for_address (const volatile void *__z) __attribute__((const ))
void std::__atomic_flag_wait_explicit (volatile __atomic_flag_base *, memory_order)
memory_order std::__calculate_memory_order (memory_order __m)
template<typename _ITp > bool std::atomic_compare_exchange_strong (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
bool std::atomic_compare_exchange_strong (volatile atomic_bool *__a, bool *__i1, bool __i2)
bool std::atomic_compare_exchange_strong (volatile atomic_address *__a, void **__v1, void *__v2)
template<typename _ITp > bool std::atomic_compare_exchange_strong_explicit (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
bool std::atomic_compare_exchange_strong_explicit (volatile atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
bool std::atomic_compare_exchange_strong_explicit (volatile atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
template<typename _ITp > bool std::atomic_compare_exchange_weak (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
bool std::atomic_compare_exchange_weak (volatile atomic_bool *__a, bool *__i1, bool __i2)
bool std::atomic_compare_exchange_weak (volatile atomic_address *__a, void **__v1, void *__v2)
template<typename _ITp > bool std::atomic_compare_exchange_weak_explicit (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
bool std::atomic_compare_exchange_weak_explicit (volatile atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
bool std::atomic_compare_exchange_weak_explicit (volatile atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
template<typename _ITp > _ITp std::atomic_exchange (volatile __atomic_base< _ITp > *__a, _ITp __i)
bool std::atomic_exchange (volatile atomic_bool *__a, bool __i)
void * std::atomic_exchange (volatile atomic_address *__a, void *__v)
template<typename _ITp > _ITp std::atomic_exchange_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
bool std::atomic_exchange_explicit (volatile atomic_bool *__a, bool __i, memory_order __m)
void * std::atomic_exchange_explicit (volatile atomic_address *__a, void *__v, memory_order __m)
template<typename _ITp > _ITp std::atomic_fetch_add (volatile __atomic_base< _ITp > *__a, _ITp __i)
void * std::atomic_fetch_add (volatile atomic_address *__a, ptrdiff_t __d)
template<typename _ITp > _ITp std::atomic_fetch_add_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
void * std::atomic_fetch_add_explicit (volatile atomic_address *__a, ptrdiff_t __d, memory_order __m)
template<typename _ITp > _ITp std::atomic_fetch_and (volatile __atomic_base< _ITp > *__a, _ITp __i)
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 (volatile __atomic_base< _ITp > *__a, _ITp __i)
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 (volatile __atomic_base< _ITp > *__a, _ITp __i)
void * std::atomic_fetch_sub (volatile atomic_address *__a, ptrdiff_t __d)
template<typename _ITp > _ITp std::atomic_fetch_sub_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
void * std::atomic_fetch_sub_explicit (volatile atomic_address *__a, ptrdiff_t __d, memory_order __m)
template<typename _ITp > _ITp std::atomic_fetch_xor (volatile __atomic_base< _ITp > *__a, _ITp __i)
template<typename _ITp > _ITp std::atomic_fetch_xor_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
void std::atomic_flag_clear (volatile __atomic_flag_base *__a)
void std::atomic_flag_clear_explicit (volatile __atomic_flag_base *, memory_order)
void std::atomic_flag_clear_explicit (volatile atomic_flag *__a, memory_order __m)
bool std::atomic_flag_test_and_set (volatile __atomic_flag_base *__a)
bool std::atomic_flag_test_and_set_explicit (volatile __atomic_flag_base *, memory_order)
bool std::atomic_flag_test_and_set_explicit (volatile atomic_flag *__a, memory_order __m)
template<typename _ITp > bool std::atomic_is_lock_free (const volatile __atomic_base< _ITp > *__a)
bool std::atomic_is_lock_free (const volatile atomic_bool *__a)
bool std::atomic_is_lock_free (const volatile atomic_address *__a)
template<typename _ITp > _ITp std::atomic_load (const volatile __atomic_base< _ITp > *__a)
bool std::atomic_load (const volatile atomic_bool *__a)
void * std::atomic_load (const volatile atomic_address *__a)
template<typename _ITp > _ITp std::atomic_load_explicit (const volatile __atomic_base< _ITp > *__a, memory_order __m)
bool std::atomic_load_explicit (const volatile atomic_bool *__a, memory_order __m)
void * std::atomic_load_explicit (const volatile atomic_address *__a, memory_order __m)
template<typename _ITp > void std::atomic_store (volatile __atomic_base< _ITp > *__a, _ITp __i)
void std::atomic_store (volatile atomic_bool *__a, bool __i)
void std::atomic_store (volatile atomic_address *__a, void *__v)
template<typename _ITp > void std::atomic_store_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
void std::atomic_store_explicit (volatile atomic_bool *__a, bool __i, memory_order __m)
void std::atomic_store_explicit (volatile atomic_address *__a, void *__v, memory_order __m)
bool std::atomic< _Tp * >::compare_exchange_strong (_Tp *&, _Tp *, memory_order=memory_order_seq_cst) volatile
bool std::atomic< _Tp * >::compare_exchange_strong (_Tp *&, _Tp *, memory_order, memory_order) volatile
bool std::atomic< _Tp * >::compare_exchange_weak (_Tp *&, _Tp *, memory_order=memory_order_seq_cst) volatile
bool std::atomic< _Tp * >::compare_exchange_weak (_Tp *&, _Tp *, memory_order, memory_order) volatile
_Tp * std::atomic< _Tp * >::exchange (_Tp *, memory_order=memory_order_seq_cst) volatile
_Tp * std::atomic< _Tp * >::fetch_add (ptrdiff_t, memory_order=memory_order_seq_cst) volatile
_Tp * std::atomic< _Tp * >::fetch_sub (ptrdiff_t, memory_order=memory_order_seq_cst) volatile
template<typename _Tp > _Tp std::kill_dependency (_Tp __y)
_Tp * std::atomic< _Tp * >::load (memory_order=memory_order_seq_cst) const volatile

Detailed Description

Components for performing atomic operations.

Define Documentation

  #define _GLIBCXX_ATOMIC_PROPERTY

29.2 Lock-free Property

Definition at line 79 of file stdatomic.h.

Typedef Documentation

  typedef enum std::memory_order std::memory_order

Enumeration for memory_order.

Enumeration Type Documentation

  enum std::memory_order

Enumeration for memory_order.

Definition at line 52 of file stdatomic.h.

Function Documentation

  template<typename _Tp > _Tp std::kill_dependency (_Tp __y) [inline]

kill_dependency

Definition at line 66 of file cstdatomic.

Author

Generated automatically by Doxygen for libstdc++ from the source code.