template<class T>
sead::Atomic struct

Base classes

template<class T>
struct AtomicBase<T>

Constructors, destructors, conversion operators

operator T() const

Public functions

auto fetchAdd(T x) -> T
auto fetchSub(T x) -> T
auto fetchAnd(T x) -> T
auto fetchOr(T x) -> T
auto fetchXor(T x) -> T
auto increment() -> T
auto decrement() -> T
auto isBitOn(unsigned int bit) const -> bool
auto setBitOn(unsigned int bit) -> bool
auto setBitOff(unsigned int bit) -> bool
auto operator+=(T x) -> T
auto operator-=(T x) -> T
auto operator&=(T x) -> T
auto operator|=(T x) -> T
auto operator^=(T x) -> T
auto operator++() -> T
auto operator++(int) -> T
auto operator--() -> T
auto operator--(int) -> T
auto load() const -> T
Load the current value, as if with memory_order_relaxed.
void store(T value)
Store a new value, as if with memory_order_relaxed.
void storeNonAtomic(T value)
Non-atomically store a new value.
auto exchange(T value) -> T
auto compareExchange(T expected, T desired, T* original = nullptr) -> bool

Function documentation

template<class T>
bool sead::Atomic<T>::setBitOn(unsigned int bit)

Returns whether the bit was cleared and is now set.

template<class T>
bool sead::Atomic<T>::setBitOff(unsigned int bit)

Returns whether the bit was set and is now cleared.