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

#include <atomic.hpp>

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

Public Member Functions

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::AtomicFloatingBase< Impl, T, true >

Definition at line 128 of file atomic.hpp.

Member Function Documentation

◆ fetch_add() [1/2]

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

Definition at line 134 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_add() [2/2]

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

Definition at line 138 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_sub() [1/2]

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

Definition at line 143 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ fetch_sub() [2/2]

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

Definition at line 147 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator+=() [1/2]

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

Definition at line 152 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator+=() [2/2]

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

Definition at line 156 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator-=() [1/2]

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

Definition at line 161 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.

◆ operator-=() [2/2]

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

Definition at line 165 of file atomic.hpp.

References yaclib::MakeContract(), and YACLIB_INJECT_FAULT.


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