std::__atomic_base< _PTp * > Struct Template Reference
Atomics

`#include <atomic_base.h>`

## Public Types

using | difference_type
using | value_type

## 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
bool | compare_exchange_weak (__int_type &__i1, __int_type __i2, memory_order __m1, memory_order __m2) 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
__int_type | fetch_and (__int_type __i, memory_order __m=memory_order_seq_cst) noexcept
__int_type | fetch_or (__int_type __i, memory_order __m=memory_order_seq_cst) 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
__int_type | fetch_xor (__int_type __i, memory_order __m=memory_order_seq_cst) 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 __int_type () const noexcept
| operator __pointer_type () const noexcept
| operator __pointer_type () const volatile noexcept
__int_type | operator&= (__int_type __i) 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_base & | operator= (const __atomic_base &) volatile =delete
__atomic_base & | operator= (const __atomic_base &)=delete
__int_type | operator^= (__int_type __i) noexcept
__int_type | operator|= (__int_type __i) noexcept
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.

## Member Typedef Documentation

## difference_type

using std::__atomic_base< _PTp * >::difference_type

Definition at line 327 of file atomic_base.h.

## value_type

using std::__atomic_base< _PTp * >::value_type

Definition at line 326 of file atomic_base.h.

## Constructor & Destructor Documentation

## __atomic_base()

template<typename _PTp>

std::__atomic_base< _PTp * >::__atomic_base | ( | __pointer_type | __p | ) |

inline constexpr noexcept

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 )

inline noexcept

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

inline noexcept

Definition at line 861 of file atomic_base.h.

## compare_exchange_weak()

bool std::__atomic_base< _PTp * >::compare_exchange_weak | ( | __int_type & | __i1,
|  | __int_type | __i2,
|  | memory_order | __m1,
|  | memory_order | __m2 )

inline noexcept

Definition at line 518 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 )

inline noexcept

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

inline noexcept

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 )

inline noexcept

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

inline noexcept

Definition at line 902 of file atomic_base.h.

## fetch_and()

__int_type std::__atomic_base< _PTp * >::fetch_and | ( | __int_type | __i,
|  | memory_order | __m = memory_order_seq_cst )

inline noexcept

Definition at line 636 of file atomic_base.h.

## fetch_or()

__int_type std::__atomic_base< _PTp * >::fetch_or | ( | __int_type | __i,
|  | memory_order | __m = memory_order_seq_cst )

inline noexcept

Definition at line 646 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 )

inline noexcept

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

inline noexcept

Definition at line 912 of file atomic_base.h.

## fetch_xor()

__int_type std::__atomic_base< _PTp * >::fetch_xor | ( | __int_type | __i,
|  | memory_order | __m = memory_order_seq_cst )

inline noexcept

Definition at line 656 of file atomic_base.h.

## is_lock_free() [1/2]

template<typename _PTp>

bool std::__atomic_base< _PTp * >::is_lock_free | ( |  | ) | const

inline noexcept

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

inline noexcept

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

inline noexcept

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

inline noexcept

Definition at line 824 of file atomic_base.h.

## operator __int_type()

std::__atomic_base< _PTp * >::operator __int_type | ( |  | ) | const

inline noexcept

Definition at line 347 of file atomic_base.h.

## operator __pointer_type() [1/2]

template<typename _PTp>

std::__atomic_base< _PTp * >::operator __pointer_type | ( |  | ) | const

inline noexcept

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

inline noexcept

Definition at line 696 of file atomic_base.h.

## operator&=()

__int_type std::__atomic_base< _PTp * >::operator&= | ( | __int_type | __i | ) |

inline noexcept

Definition at line 416 of file atomic_base.h.

## operator++() [1/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator++ | ( |  | ) |

inline noexcept

Definition at line 730 of file atomic_base.h.

## operator++() [2/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator++ | ( |  | ) | volatile

inline noexcept

Definition at line 735 of file atomic_base.h.

## operator++() [3/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator++ | ( | int |  | ) |

inline noexcept

Definition at line 714 of file atomic_base.h.

## operator++() [4/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator++ | ( | int |  | ) | volatile

inline noexcept

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 | ) |

inline noexcept

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

inline noexcept

Definition at line 755 of file atomic_base.h.

## operator--() [1/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator-- | ( |  | ) |

inline noexcept

Definition at line 740 of file atomic_base.h.

## operator--() [2/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator-- | ( |  | ) | volatile

inline noexcept

Definition at line 745 of file atomic_base.h.

## operator--() [3/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator-- | ( | int |  | ) |

inline noexcept

Definition at line 722 of file atomic_base.h.

## operator--() [4/4]

template<typename _PTp>

__pointer_type std::__atomic_base< _PTp * >::operator-- | ( | int |  | ) | volatile

inline noexcept

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 | ) |

inline noexcept

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

inline noexcept

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 | ) |

inline noexcept

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

inline noexcept

Definition at line 707 of file atomic_base.h.

## operator^=()

__int_type std::__atomic_base< _PTp * >::operator^= | ( | __int_type | __i | ) |

inline noexcept

Definition at line 432 of file atomic_base.h.

## operator|=()

__int_type std::__atomic_base< _PTp * >::operator|= | ( | __int_type | __i | ) |

inline noexcept

Definition at line 424 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 )

inline noexcept

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

inline noexcept

Definition at line 800 of file atomic_base.h.

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

- atomic_base.h