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)
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2)
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst)
 
bool compare_exchange_strong (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatile
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2)
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst)
 
bool compare_exchange_weak (__pointer_type &__p1, __pointer_type __p2, memory_order __m=memory_order_seq_cst) volatile
 
__pointer_type exchange (__pointer_type __p, memory_order __m=memory_order_seq_cst)
 
__pointer_type exchange (__pointer_type __p, memory_order __m=memory_order_seq_cst) volatile
 
__pointer_type fetch_add (ptrdiff_t __d, memory_order __m=memory_order_seq_cst)
 
__pointer_type fetch_add (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatile
 
__pointer_type fetch_sub (ptrdiff_t __d, memory_order __m=memory_order_seq_cst)
 
__pointer_type fetch_sub (ptrdiff_t __d, memory_order __m=memory_order_seq_cst) volatile
 
bool is_lock_free () const
 
bool is_lock_free () const volatile
 
__pointer_type load (memory_order __m=memory_order_seq_cst) const
 
__pointer_type load (memory_order __m=memory_order_seq_cst) const volatile
 
 operator __pointer_type () const
 
 operator __pointer_type () const volatile
 
__pointer_type operator++ (int)
 
__pointer_type operator++ (int) volatile
 
__pointer_type operator++ ()
 
__pointer_type operator++ () volatile
 
__pointer_type operator+= (ptrdiff_t __d)
 
__pointer_type operator+= (ptrdiff_t __d) volatile
 
__pointer_type operator-- (int)
 
__pointer_type operator-- (int) volatile
 
__pointer_type operator-- ()
 
__pointer_type operator-- () volatile
 
__pointer_type operator-= (ptrdiff_t __d)
 
__pointer_type operator-= (ptrdiff_t __d) volatile
 
atomicoperator= (const atomic &)=delete
 
atomicoperator= (const atomic &) volatile=delete
 
__pointer_type operator= (__pointer_type __p)
 
__pointer_type operator= (__pointer_type __p) volatile
 
void store (__pointer_type __p, memory_order __m=memory_order_seq_cst)
 
void store (__pointer_type __p, memory_order __m=memory_order_seq_cst) volatile
 

Public Attributes

__base_type _M_b
 

Detailed Description

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

Partial specialization for pointer types.

Definition at line 233 of file atomic.


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