libstdc++
std::__atomic_base< _PTp * > Struct Template Reference

#include <atomic_base.h>

Public Member Functions

constexpr __atomic_base (__pointer_type __p) noexcept
 
 __atomic_base (const __atomic_base &)=delete
 
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) volatile noexcept
 
__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) volatile noexcept
 
__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) volatile noexcept
 
__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) volatile noexcept
 
bool is_lock_free () const noexcept
 
bool is_lock_free () const volatile noexcept
 
__pointer_type load (memory_order __m=memory_order_seq_cst) const noexcept
 
__pointer_type load (memory_order __m=memory_order_seq_cst) const volatile noexcept
 
 operator __pointer_type () const noexcept
 
 operator __pointer_type () const volatile noexcept
 
__pointer_type operator++ () noexcept
 
__pointer_type operator++ () volatile noexcept
 
__pointer_type operator++ (int) noexcept
 
__pointer_type operator++ (int) volatile noexcept
 
__pointer_type operator+= (ptrdiff_t __d) noexcept
 
__pointer_type operator+= (ptrdiff_t __d) volatile noexcept
 
__pointer_type operator-- () noexcept
 
__pointer_type operator-- () volatile noexcept
 
__pointer_type operator-- (int) noexcept
 
__pointer_type operator-- (int) volatile noexcept
 
__pointer_type operator-= (ptrdiff_t __d) noexcept
 
__pointer_type operator-= (ptrdiff_t __d) volatile noexcept
 
__pointer_type operator= (__pointer_type __p) noexcept
 
__pointer_type operator= (__pointer_type __p) volatile noexcept
 
__atomic_baseoperator= (const __atomic_base &) volatile=delete
 
__atomic_baseoperator= (const __atomic_base &)=delete
 
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) volatile noexcept
 

Detailed Description

template<typename _PTp>
struct std::__atomic_base< _PTp * >

Partial specialization for pointer types.

Definition at line 669 of file atomic_base.h.

Constructor & Destructor Documentation

◆ __atomic_base()

template<typename _PTp >
constexpr std::__atomic_base< _PTp * >::__atomic_base ( __pointer_type  __p)
inlineconstexprnoexcept

Definition at line 691 of file atomic_base.h.

Member Function Documentation

◆ compare_exchange_strong() [1/2]

template<typename _PTp >
bool std::__atomic_base< _PTp * >::compare_exchange_strong ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m1,
memory_order  __m2 
)
inlinenoexcept

Definition at line 850 of file atomic_base.h.

◆ compare_exchange_strong() [2/2]

template<typename _PTp >
bool std::__atomic_base< _PTp * >::compare_exchange_strong ( __pointer_type &  __p1,
__pointer_type  __p2,
memory_order  __m1,
memory_order  __m2 
) volatile
inlinenoexcept

Definition at line 861 of file atomic_base.h.

◆ exchange() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::exchange ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 835 of file atomic_base.h.

◆ exchange() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::exchange ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 843 of file atomic_base.h.

◆ fetch_add() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::fetch_add ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 897 of file atomic_base.h.

◆ fetch_add() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::fetch_add ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 902 of file atomic_base.h.

◆ fetch_sub() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::fetch_sub ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 907 of file atomic_base.h.

◆ fetch_sub() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::fetch_sub ( ptrdiff_t  __d,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 912 of file atomic_base.h.

◆ is_lock_free() [1/2]

template<typename _PTp >
bool std::__atomic_base< _PTp * >::is_lock_free ( ) const
inlinenoexcept

Definition at line 770 of file atomic_base.h.

◆ is_lock_free() [2/2]

template<typename _PTp >
bool std::__atomic_base< _PTp * >::is_lock_free ( ) const volatile
inlinenoexcept

Definition at line 778 of file atomic_base.h.

◆ load() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::load ( memory_order  __m = memory_order_seq_cst) const
inlinenoexcept

Definition at line 813 of file atomic_base.h.

◆ load() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::load ( memory_order  __m = memory_order_seq_cst) const volatile
inlinenoexcept

Definition at line 824 of file atomic_base.h.

◆ operator __pointer_type() [1/2]

template<typename _PTp >
std::__atomic_base< _PTp * >::operator __pointer_type ( ) const
inlinenoexcept

Definition at line 693 of file atomic_base.h.

◆ operator __pointer_type() [2/2]

template<typename _PTp >
std::__atomic_base< _PTp * >::operator __pointer_type ( ) const volatile
inlinenoexcept

Definition at line 696 of file atomic_base.h.

◆ operator++() [1/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( )
inlinenoexcept

Definition at line 730 of file atomic_base.h.

◆ operator++() [2/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( ) volatile
inlinenoexcept

Definition at line 735 of file atomic_base.h.

◆ operator++() [3/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( int  )
inlinenoexcept

Definition at line 714 of file atomic_base.h.

◆ operator++() [4/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator++ ( int  ) volatile
inlinenoexcept

Definition at line 718 of file atomic_base.h.

◆ operator+=() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator+= ( ptrdiff_t  __d)
inlinenoexcept

Definition at line 750 of file atomic_base.h.

◆ operator+=() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator+= ( ptrdiff_t  __d) volatile
inlinenoexcept

Definition at line 755 of file atomic_base.h.

◆ operator--() [1/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( )
inlinenoexcept

Definition at line 740 of file atomic_base.h.

◆ operator--() [2/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( ) volatile
inlinenoexcept

Definition at line 745 of file atomic_base.h.

◆ operator--() [3/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( int  )
inlinenoexcept

Definition at line 722 of file atomic_base.h.

◆ operator--() [4/4]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-- ( int  ) volatile
inlinenoexcept

Definition at line 726 of file atomic_base.h.

◆ operator-=() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-= ( ptrdiff_t  __d)
inlinenoexcept

Definition at line 760 of file atomic_base.h.

◆ operator-=() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator-= ( ptrdiff_t  __d) volatile
inlinenoexcept

Definition at line 765 of file atomic_base.h.

◆ operator=() [1/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator= ( __pointer_type  __p)
inlinenoexcept

Definition at line 700 of file atomic_base.h.

◆ operator=() [2/2]

template<typename _PTp >
__pointer_type std::__atomic_base< _PTp * >::operator= ( __pointer_type  __p) volatile
inlinenoexcept

Definition at line 707 of file atomic_base.h.

◆ store() [1/2]

template<typename _PTp >
void std::__atomic_base< _PTp * >::store ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
)
inlinenoexcept

Definition at line 786 of file atomic_base.h.

◆ store() [2/2]

template<typename _PTp >
void std::__atomic_base< _PTp * >::store ( __pointer_type  __p,
memory_order  __m = memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 800 of file atomic_base.h.


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