mn_atomic_gcc.hpp
Go to the documentation of this file.
struct mn::memory::detail::ptr_difference T
Definition: mn_atomic_singleton.hpp:38
Definition: mn_allocator_typetraits.hpp:25
@ SeqCst
value_type load(memory_order order=memory_order::SeqCst) const
Definition: mn_atomic_gcc.hpp:84
basic_atomic_gcc & operator=(const self_type &) volatile=delete
static constexpr bool is_always_lock_free
Definition: mn_atomic_gcc.hpp:64
void store(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:81
bool compare_exchange_f(value_type &expected, value_type &desired, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:100
value_type operator|=(value_type v)
Definition: mn_atomic_gcc.hpp:169
basic_atomic_gcc()=default
value_type sub_fetch(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:134
value_type exchange(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:87
value_type fetch_sub(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:119
bool compare_exchange_strong(value_type &expected, value_type &desired, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:106
value_type operator&=(value_type v)
Definition: mn_atomic_gcc.hpp:168
value_type fetch_xor(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:128
value_type operator-=(value_type v)
Definition: mn_atomic_gcc.hpp:167
bool is_lock_free() const volatile
Definition: mn_atomic_gcc.hpp:149
value_type operator+=(value_type v)
Definition: mn_atomic_gcc.hpp:166
value_type fetch_or(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:125
bool compare_exchange_t(value_type &expected, value_type &desired, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:95
value_type operator^=(value_type v)
Definition: mn_atomic_gcc.hpp:170
basic_atomic_gcc & operator=(const self_type &)=delete
bool compare_exchange_n(value_type &expected, value_type &desired, bool b, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:90
~basic_atomic_gcc()=default
value_type fetch_and(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:122
basic_atomic_gcc(const self_type &)=delete
value_type xor_fetch(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:143
value_type and_fetch(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:137
value_type or_fetch(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:140
value_type fetch_add(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:116
value_type add_fetch(value_type v, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:131
constexpr basic_atomic_gcc(value_type value)
Definition: mn_atomic_gcc.hpp:77
bool compare_exchange_weak(value_type &expected, value_type &desired, memory_order order=memory_order::SeqCst)
Definition: mn_atomic_gcc.hpp:111