libstdc++
|
Go to the source code of this file.
Classes | |
struct | std::atomic< _Tp > |
atomic 29.4.3, Generic atomic type, primary class template. More... | |
struct | std::atomic< _Tp * > |
Partial specialization for pointer types. More... | |
struct | std::atomic< bool > |
Explicit specialization for 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< void * > |
Explicit specialization for void*. More... | |
struct | std::atomic< wchar_t > |
Explicit specialization for wchar_t. More... |
Namespaces | |
namespace | std |
Macros | |
#define | _GLIBCXX_STDATOMIC |
Functions | |
memory_order | std::__calculate_memory_order (memory_order __m) |
bool | std::atomic_compare_exchange_strong (volatile atomic_address *__a, void **__v1, void *__v2) |
bool | std::atomic_compare_exchange_strong (volatile atomic_bool *__a, bool *__i1, bool __i2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_strong (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2) |
bool | std::atomic_compare_exchange_strong_explicit (volatile atomic_address *__a, void **__v1, void *__v2, 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) |
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_weak (volatile atomic_address *__a, void **__v1, void *__v2) |
bool | std::atomic_compare_exchange_weak (volatile atomic_bool *__a, bool *__i1, bool __i2) |
template<typename _ITp > | |
bool | std::atomic_compare_exchange_weak (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2) |
bool | std::atomic_compare_exchange_weak_explicit (volatile atomic_address *__a, void **__v1, void *__v2, 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) |
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) |
void * | std::atomic_exchange (volatile atomic_address *__a, void *__v) |
bool | std::atomic_exchange (volatile atomic_bool *__a, bool __i) |
template<typename _ITp > | |
_ITp | std::atomic_exchange (volatile __atomic_base< _ITp > *__a, _ITp __i) |
void * | std::atomic_exchange_explicit (volatile atomic_address *__a, void *__v, memory_order __m) |
bool | std::atomic_exchange_explicit (volatile atomic_bool *__a, bool __i, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_exchange_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
void * | std::atomic_fetch_add (volatile atomic_address *__a, ptrdiff_t __d) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_add (volatile __atomic_base< _ITp > *__a, _ITp __i) |
void * | std::atomic_fetch_add_explicit (volatile atomic_address *__a, ptrdiff_t __d, 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_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) |
void * | std::atomic_fetch_sub (volatile atomic_address *__a, ptrdiff_t __d) |
template<typename _ITp > | |
_ITp | std::atomic_fetch_sub (volatile __atomic_base< _ITp > *__a, _ITp __i) |
void * | std::atomic_fetch_sub_explicit (volatile atomic_address *__a, ptrdiff_t __d, 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_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_explicit (volatile atomic_flag *__a, memory_order __m) |
bool | std::atomic_flag_test_and_set_explicit (volatile atomic_flag *__a, memory_order __m) |
bool | std::atomic_is_lock_free (const volatile atomic_address *__a) |
bool | std::atomic_is_lock_free (const volatile atomic_bool *__a) |
template<typename _ITp > | |
bool | std::atomic_is_lock_free (const volatile __atomic_base< _ITp > *__a) |
void * | std::atomic_load (const volatile atomic_address *__a) |
bool | std::atomic_load (const volatile atomic_bool *__a) |
template<typename _ITp > | |
_ITp | std::atomic_load (const volatile __atomic_base< _ITp > *__a) |
void * | std::atomic_load_explicit (const volatile atomic_address *__a, memory_order __m) |
bool | std::atomic_load_explicit (const volatile atomic_bool *__a, memory_order __m) |
template<typename _ITp > | |
_ITp | std::atomic_load_explicit (const volatile __atomic_base< _ITp > *__a, memory_order __m) |
void | std::atomic_store (volatile atomic_address *__a, void *__v) |
void | std::atomic_store (volatile atomic_bool *__a, bool __i) |
template<typename _ITp > | |
void | std::atomic_store (volatile __atomic_base< _ITp > *__a, _ITp __i) |
void | std::atomic_store_explicit (volatile atomic_address *__a, void *__v, memory_order __m) |
void | std::atomic_store_explicit (volatile atomic_bool *__a, bool __i, memory_order __m) |
template<typename _ITp > | |
void | std::atomic_store_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m) |
template<typename _Tp > | |
_Tp | std::kill_dependency (_Tp __y) |
This is a Standard C++ Library file. You should #include
this file in your programs, rather than any of the "*.h" implementation files.
This is the C++ version of the Standard C Library header stdatomic.h
, and its contents are (mostly) the same as that header, but are all contained in the namespace std
(except for names which are defined as macros in C).
Definition in file cstdatomic.