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

Public Types

typedef __atomic_base< _Tp * > __base_type
 
typedef _Tp * __pointer_type
 

Public Member Functions

 atomic (const atomic &)=delete
 
constexpr atomic (__pointer_type __p) noexcept
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatilenoexcept
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) noexcept
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatilenoexcept
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatilenoexcept
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) noexcept
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatilenoexcept
 
__pointer_type exchange (__pointer_type __p, memory_order __m=memory_order_seq_cst) noexcept
 
__pointer_type exchange (__pointer_type __p, memory_order __m=memory_order_seq_cst) volatilenoexcept
 
__pointer_type fetch_add (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) noexcept
 
__pointer_type fetch_add (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatilenoexcept
 
__pointer_type fetch_sub (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) noexcept
 
__pointer_type fetch_sub (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatilenoexcept
 
bool is_lock_free () const noexcept
 
bool is_lock_free () const volatilenoexcept
 
__pointer_type load (memory_order __m=memory_order_seq_cst) const noexcept
 
__pointer_type load (memory_order __m=memory_order_seq_cst) const volatilenoexcept
 
 operator __pointer_type () const noexcept
 
 operator __pointer_type () const volatilenoexcept
 
__pointer_type operator++ (int) noexcept
 
__pointer_type operator++ (int) volatilenoexcept
 
__pointer_type operator++ () noexcept
 
__pointer_type operator++ () volatilenoexcept
 
__pointer_type operator+= (ptrdiff_t __d) noexcept
 
__pointer_type operator+= (ptrdiff_t __d) volatilenoexcept
 
__pointer_type operator-- (int) noexcept
 
__pointer_type operator-- (int) volatilenoexcept
 
__pointer_type operator-- () noexcept
 
__pointer_type operator-- () volatilenoexcept
 
__pointer_type operator-= (ptrdiff_t __d) noexcept
 
__pointer_type operator-= (ptrdiff_t __d) volatilenoexcept
 
atomicoperator= (const atomic &)=delete
 
atomicoperator= (const atomic &) volatile=delete
 
__pointer_type operator= (__pointer_type __p) noexcept
 
__pointer_type operator= (__pointer_type __p) volatilenoexcept
 
void store (__pointer_type __p, memory_order __m=memory_order_seq_cst) noexcept
 
void store (__pointer_type __p, memory_order __m=memory_order_seq_cst) volatilenoexcept
 

Public Attributes

__base_type _M_b
 

Detailed Description

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

Partial specialization for pointer types.

Definition at line 294 of file atomic.


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