libstdc++
std::atomic< _Tp > Struct Template Reference

Public Types

using value_type = _Tp
 

Public Member Functions

constexpr atomic (_Tp __i) noexcept
 
 atomic (const atomic &)=delete
 
bool compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) noexcept
 
bool compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
bool compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) noexcept
 
bool compare_exchange_strong (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept
 
bool compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) noexcept
 
bool compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
bool compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) noexcept
 
bool compare_exchange_weak (_Tp &__e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept
 
_Tp exchange (_Tp __i, memory_order __m=memory_order_seq_cst) noexcept
 
_Tp exchange (_Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 
bool is_lock_free () const noexcept
 
bool is_lock_free () const volatile noexcept
 
_Tp load (memory_order __m=memory_order_seq_cst) const noexcept
 
_Tp load (memory_order __m=memory_order_seq_cst) const volatile noexcept
 
 operator _Tp () const noexcept
 
 operator _Tp () const volatile noexcept
 
_Tp operator= (_Tp __i) noexcept
 
_Tp operator= (_Tp __i) volatile noexcept
 
atomicoperator= (const atomic &) volatile=delete
 
atomicoperator= (const atomic &)=delete
 
void store (_Tp __i, memory_order __m=memory_order_seq_cst) noexcept
 
void store (_Tp __i, memory_order __m=memory_order_seq_cst) volatile noexcept
 

Detailed Description

template<typename _Tp>
struct std::atomic< _Tp >

Generic atomic type, primary class template.

Template Parameters
_TpType to be made atomic, must be trivially copyable.

Definition at line 180 of file atomic.


The documentation for this struct was generated from the following file: