YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::detail::AtomicIntegralBase< Impl, T, true > Class Template Reference

#include <atomic.hpp>

Inheritance diagram for yaclib::detail::AtomicIntegralBase< Impl, T, true >:
[legend]
Collaboration diagram for yaclib::detail::AtomicIntegralBase< Impl, T, true >:
[legend]

Public Member Functions

fetch_and (T arg, std::memory_order order=std::memory_order_seq_cst) noexcept
 
fetch_and (T arg, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
fetch_or (T arg, std::memory_order order=std::memory_order_seq_cst) noexcept
 
fetch_or (T arg, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
fetch_xor (T arg, std::memory_order order=std::memory_order_seq_cst) noexcept
 
fetch_xor (T arg, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
operator++ () noexcept
 
operator++ () volatile noexcept
 
operator++ (int) noexcept
 
operator++ (int) volatile noexcept
 
operator-- () noexcept
 
operator-- () volatile noexcept
 
operator-- (int) noexcept
 
operator-- (int) volatile noexcept
 
operator&= (T arg) noexcept
 
operator&= (T arg) volatile noexcept
 
operator|= (T arg) noexcept
 
operator|= (T arg) volatile noexcept
 
operator^= (T arg) noexcept
 
operator^= (T arg) volatile noexcept
 
- Public Member Functions inherited from yaclib::detail::AtomicFloatingBase< Impl, T, true >
fetch_add (T arg, std::memory_order order=std::memory_order_seq_cst) noexcept
 
fetch_add (T arg, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
fetch_sub (T arg, std::memory_order order=std::memory_order_seq_cst) noexcept
 
fetch_sub (T arg, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
operator+= (T arg) noexcept
 
operator+= (T arg) volatile noexcept
 
operator-= (T arg) noexcept
 
operator-= (T arg) volatile noexcept
 
- Public Member Functions inherited from yaclib::detail::AtomicBase< Impl, T >
operator= (T desired) noexcept
 
operator= (T desired) volatile noexcept
 
void store (T desired, std::memory_order order=std::memory_order_seq_cst) noexcept
 
void store (T desired, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
load (std::memory_order order=std::memory_order_seq_cst) const noexcept
 
load (std::memory_order order=std::memory_order_seq_cst) const volatile noexcept
 
 operator T () const noexcept
 
 operator T () const volatile noexcept
 
exchange (T desired, std::memory_order order=std::memory_order_seq_cst) noexcept
 
exchange (T desired, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order success, std::memory_order failure) noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order success, std::memory_order failure) volatile noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order order=std::memory_order_seq_cst) noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order success, std::memory_order failure) noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order success, std::memory_order failure) volatile noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order order=std::memory_order_seq_cst) noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order order=std::memory_order_seq_cst) volatile noexcept
 

Detailed Description

template<typename Impl, typename T>
class yaclib::detail::AtomicIntegralBase< Impl, T, true >

Definition at line 180 of file atomic.hpp.

Member Function Documentation

◆ fetch_and() [1/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::fetch_and ( arg,
std::memory_order  order = std::memory_order_seq_cst 
)
inlinenoexcept

Definition at line 186 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_and() [2/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::fetch_and ( arg,
std::memory_order  order = std::memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 190 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_or() [1/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::fetch_or ( arg,
std::memory_order  order = std::memory_order_seq_cst 
)
inlinenoexcept

Definition at line 195 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_or() [2/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::fetch_or ( arg,
std::memory_order  order = std::memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 199 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_xor() [1/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::fetch_xor ( arg,
std::memory_order  order = std::memory_order_seq_cst 
)
inlinenoexcept

Definition at line 204 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_xor() [2/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::fetch_xor ( arg,
std::memory_order  order = std::memory_order_seq_cst 
) volatile
inlinenoexcept

Definition at line 208 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator&=() [1/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator&= ( arg)
inlinenoexcept

Definition at line 249 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator&=() [2/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator&= ( arg) volatile
inlinenoexcept

Definition at line 253 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator++() [1/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator++ ( )
inlinenoexcept

Definition at line 213 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator++() [2/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator++ ( ) volatile
inlinenoexcept

Definition at line 217 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator++() [3/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator++ ( int  )
inlinenoexcept

Definition at line 222 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator++() [4/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator++ ( int  ) volatile
inlinenoexcept

Definition at line 226 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator--() [1/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator-- ( )
inlinenoexcept

Definition at line 231 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator--() [2/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator-- ( ) volatile
inlinenoexcept

Definition at line 235 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator--() [3/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator-- ( int  )
inlinenoexcept

Definition at line 240 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator--() [4/4]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator-- ( int  ) volatile
inlinenoexcept

Definition at line 244 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator^=() [1/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator^= ( arg)
inlinenoexcept

Definition at line 267 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator^=() [2/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator^= ( arg) volatile
inlinenoexcept

Definition at line 271 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator|=() [1/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator|= ( arg)
inlinenoexcept

Definition at line 258 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator|=() [2/2]

template<typename Impl , typename T >
T yaclib::detail::AtomicIntegralBase< Impl, T, true >::operator|= ( arg) volatile
inlinenoexcept

Definition at line 262 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.


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