25 T
load(std::memory_order)
const noexcept {
28 T
load(std::memory_order)
const volatile noexcept {
73 if (this->
_value == expected) {
84template <
typename T,
bool IsFloating = std::is_
floating_po
int_v<T>>
139template <
typename T,
bool IsIntegral = std::is_
integral_v<T> && !std::is_same_v<T,
bool>>
306 return _value +=
arg;
309 return _value +=
arg;
313 return _value -=
arg;
316 return _value -=
arg;
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) volatile noexcept
T load(std::memory_order) const noexcept
void store(T desired, std::memory_order) volatile noexcept
bool compare_exchange_strong(T &expected, T desired, std::memory_order) noexcept
bool compare_exchange_weak(T &expected, T desired, std::memory_order) volatile noexcept
T load(std::memory_order) const volatile noexcept
bool CompareExchangeHelper(T &expected, T desired)
bool compare_exchange_weak(T &expected, T desired, std::memory_order, std::memory_order) noexcept
void store(T desired, std::memory_order) noexcept
T exchange(T desired, std::memory_order) volatile 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
T exchange(T desired, std::memory_order) noexcept
T fetch_sub(T arg, std::memory_order) volatile noexcept
T operator-=(T arg) volatile noexcept
T operator+=(T arg) volatile noexcept
T fetch_sub(T arg, std::memory_order) noexcept
T operator-=(T arg) noexcept
T operator+=(T arg) noexcept
T fetch_add(T arg, std::memory_order) volatile noexcept
T fetch_add(T arg, std::memory_order) noexcept
T operator++() volatile noexcept
T operator--(int) noexcept
T operator&=(T arg) noexcept
T fetch_or(T arg, std::memory_order) volatile noexcept
T operator++(int) noexcept
T operator--(int) volatile noexcept
T fetch_xor(T arg, std::memory_order) noexcept
T operator|=(T arg) volatile noexcept
T operator^=(T arg) noexcept
T fetch_and(T arg, std::memory_order) noexcept
T fetch_and(T arg, std::memory_order) volatile noexcept
T fetch_xor(T arg, std::memory_order) volatile noexcept
T operator|=(T arg) noexcept
T operator^=(T arg) volatile noexcept
T operator++(int) volatile noexcept
T fetch_or(T arg, std::memory_order) noexcept
T operator--() volatile noexcept
T operator&=(T arg) volatile noexcept
bool is_lock_free() const volatile noexcept
static constexpr bool is_always_lock_free
U * operator++() volatile noexcept
U * fetch_add(std::ptrdiff_t arg, std::memory_order) volatile noexcept
U * fetch_add(std::ptrdiff_t arg, std::memory_order) noexcept
U * operator++(int) noexcept
U * fetch_sub(std::ptrdiff_t arg, std::memory_order) noexcept
U * operator+=(std::ptrdiff_t arg) volatile noexcept
U * operator-=(std::ptrdiff_t arg) noexcept
U * operator--(int) noexcept
U * operator--(int) volatile noexcept
U * operator++(int) volatile noexcept
U * operator++() noexcept
U * operator--() volatile noexcept
U * fetch_sub(std::ptrdiff_t arg, std::memory_order) volatile noexcept
U * operator--() noexcept
U * operator-=(std::ptrdiff_t arg) volatile noexcept
U * operator+=(std::ptrdiff_t arg) noexcept
Contract< V, E > MakeContract()
Creates related future and promise.