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

#include <atomic.hpp>

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

Public Member Functions

fetch_and (T arg, std::memory_order) noexcept
 
fetch_and (T arg, std::memory_order) volatile noexcept
 
fetch_or (T arg, std::memory_order) noexcept
 
fetch_or (T arg, std::memory_order) volatile noexcept
 
fetch_xor (T arg, std::memory_order) noexcept
 
fetch_xor (T arg, std::memory_order) 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::fiber::AtomicFloatingBase< T, true >
fetch_add (T arg, std::memory_order) noexcept
 
fetch_add (T arg, std::memory_order) volatile noexcept
 
fetch_sub (T arg, std::memory_order) noexcept
 
fetch_sub (T arg, std::memory_order) 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::fiber::AtomicBase< T >
void store (T desired, std::memory_order) noexcept
 
void store (T desired, std::memory_order) volatile noexcept
 
load (std::memory_order) const noexcept
 
load (std::memory_order) const volatile noexcept
 
 operator T () const noexcept
 
 operator T () const volatile noexcept
 
exchange (T desired, std::memory_order) noexcept
 
exchange (T desired, std::memory_order) volatile noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order, std::memory_order) noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order, std::memory_order) volatile noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order) noexcept
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order) volatile noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order, std::memory_order) noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order, std::memory_order) volatile noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order) noexcept
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order) volatile noexcept
 
bool is_lock_free () const volatile noexcept
 
bool is_lock_free () const noexcept
 
- Public Member Functions inherited from yaclib::detail::fiber::AtomicWait< T >
 AtomicWait () noexcept=default
 
constexpr AtomicWait (T desired) noexcept
 
operator= (T desired) volatile noexcept
 
operator= (T desired) noexcept
 
bool is_lock_free () const volatile noexcept
 
bool is_lock_free () const noexcept
 

Protected Attributes

_value
 
- Protected Attributes inherited from yaclib::detail::fiber::AtomicFloatingBase< T, true >
_value
 
- Protected Attributes inherited from yaclib::detail::fiber::AtomicBase< T >
_value
 
- Protected Attributes inherited from yaclib::detail::fiber::AtomicWait< T >
_value
 

Additional Inherited Members

- Static Public Attributes inherited from yaclib::detail::fiber::AtomicBase< T >
static constexpr bool is_always_lock_free
 
- Static Public Attributes inherited from yaclib::detail::fiber::AtomicWait< T >
static constexpr bool is_always_lock_free = true
 
- Protected Member Functions inherited from yaclib::detail::fiber::AtomicBase< T >
bool CompareExchangeHelper (T &expected, T desired)
 

Detailed Description

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

Definition at line 148 of file atomic.hpp.

Member Function Documentation

◆ fetch_and() [1/2]

template<typename T >
T yaclib::detail::fiber::AtomicIntegralBase< T, true >::fetch_and ( arg,
std::memory_order   
)
inlinenoexcept

◆ fetch_and() [2/2]

template<typename T >
T yaclib::detail::fiber::AtomicIntegralBase< T, true >::fetch_and ( arg,
std::memory_order   
) volatile
inlinenoexcept

◆ fetch_or() [1/2]

template<typename T >
T yaclib::detail::fiber::AtomicIntegralBase< T, true >::fetch_or ( arg,
std::memory_order   
)
inlinenoexcept

◆ fetch_or() [2/2]

template<typename T >
T yaclib::detail::fiber::AtomicIntegralBase< T, true >::fetch_or ( arg,
std::memory_order   
) volatile
inlinenoexcept

◆ fetch_xor() [1/2]

template<typename T >
T yaclib::detail::fiber::AtomicIntegralBase< T, true >::fetch_xor ( arg,
std::memory_order   
)
inlinenoexcept

◆ fetch_xor() [2/2]

template<typename T >
T yaclib::detail::fiber::AtomicIntegralBase< T, true >::fetch_xor ( arg,
std::memory_order   
) volatile
inlinenoexcept

◆ operator&=() [1/2]

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

◆ operator&=() [2/2]

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

◆ operator++() [1/4]

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

Definition at line 187 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator++() [2/4]

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

Definition at line 190 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator++() [3/4]

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

Definition at line 194 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator++() [4/4]

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

Definition at line 197 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator--() [1/4]

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

Definition at line 201 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator--() [2/4]

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

Definition at line 204 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator--() [3/4]

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

Definition at line 208 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator--() [4/4]

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

Definition at line 211 of file atomic.hpp.

References yaclib::detail::fiber::AtomicBase< T >::_value.

◆ operator^=() [1/2]

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

◆ operator^=() [2/2]

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

◆ operator|=() [1/2]

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

◆ operator|=() [2/2]

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

Member Data Documentation

◆ _value

template<typename T >
T yaclib::detail::fiber::AtomicWait< T >::_value
protected

Definition at line 136 of file atomic_wait.hpp.


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