libstdc++
cstdatomic File Reference

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)

Detailed Description

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.