Template Class transferable_atomic

Class Documentation

template<typename T>
class legion::core::async::transferable_atomic

Copyable wrapper for std::atomic.

Public Functions

transferable_atomic() = default
inline explicit transferable_atomic(T val)
inline transferable_atomic(const std::atomic<T> &other)
inline transferable_atomic(const transferable_atomic<T> &other)
inline transferable_atomic(std::atomic<T> &&other)
inline transferable_atomic(transferable_atomic<T> &&other)
~transferable_atomic() = default
inline rw_spinlock &get_lock() noexcept
inline transferable_atomic<T> &operator=(const transferable_atomic<T> &other) noexcept
inline transferable_atomic<T> &operator=(const std::atomic<T> &other) noexcept
inline transferable_atomic<T> &operator=(transferable_atomic<T> &&other) noexcept
inline transferable_atomic<T> &operator=(std::atomic<T> &&other) noexcept
inline transferable_atomic<T> &copy(const transferable_atomic<T> &other, std::memory_order loadOrder = std::memory_order_acquire, std::memory_order storeOrder = std::memory_order_release) noexcept
inline transferable_atomic<T> &move(transferable_atomic<T> &&other, std::memory_order loadOrder = std::memory_order_acquire, std::memory_order storeOrder = std::memory_order_release) noexcept
inline std::atomic<T> &get() noexcept
inline const std::atomic<T> &get() const noexcept
inline std::atomic<T> *operator->() noexcept
inline const std::atomic<T> *operator->() const noexcept