std::atomic<T> type with predefined fixed std::memory_order, not allowing changing the memory model on usage and applying the set order to all operator.
More...
#include <ordered_atomic.hpp>
template<typename _Tp, std::memory_order _MO>
struct jau::ordered_atomic< _Tp, _MO >
std::atomic<T> type with predefined fixed std::memory_order, not allowing changing the memory model on usage and applying the set order to all operator.
See also:
- Examples
- test_mm_sc_drf_00.cpp.
Definition at line 51 of file ordered_atomic.hpp.
◆ ordered_atomic() [1/3]
template<typename _Tp , std::memory_order _MO>
◆ ~ordered_atomic()
template<typename _Tp , std::memory_order _MO>
◆ ordered_atomic() [2/3]
template<typename _Tp , std::memory_order _MO>
◆ ordered_atomic() [3/3]
template<typename _Tp , std::memory_order _MO>
◆ compare_exchange_strong() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ compare_exchange_strong() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ compare_exchange_weak() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ compare_exchange_weak() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ exchange() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ exchange() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_add() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_add() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_and() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_and() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_or() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_or() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_sub() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_sub() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_xor() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ fetch_xor() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ is_lock_free() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ is_lock_free() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ load() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ load() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ operator _Tp() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ operator _Tp() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ operator++() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ operator++() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ operator--() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ operator--() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ operator=() [1/4]
template<typename _Tp , std::memory_order _MO>
◆ operator=() [2/4]
template<typename _Tp , std::memory_order _MO>
◆ operator=() [3/4]
template<typename _Tp , std::memory_order _MO>
◆ operator=() [4/4]
template<typename _Tp , std::memory_order _MO>
◆ store() [1/2]
template<typename _Tp , std::memory_order _MO>
◆ store() [2/2]
template<typename _Tp , std::memory_order _MO>
◆ is_always_lock_free
template<typename _Tp , std::memory_order _MO>
constexpr bool jau::ordered_atomic< _Tp, _MO >::is_always_lock_free = super::is_always_lock_free |
|
staticconstexpr |
The documentation for this struct was generated from the following file: