template<typename Type>
struct juce::Atomic< Type >
A simple wrapper around std::atomic.
|
| Atomic () noexcept |
| Creates a new value, initialised to zero.
|
| Atomic (Type initialValue) noexcept |
| Creates a new value, with a given initial value.
|
| Atomic (const Atomic &other) noexcept |
| Copies another value (atomically).
|
| ~Atomic () noexcept |
| Destructor.
|
Type | get () const noexcept |
| Atomically reads and returns the current value.
|
void | set (Type newValue) noexcept |
| Atomically sets the current value.
|
Type | exchange (Type newValue) noexcept |
| Atomically sets the current value, returning the value that was replaced.
|
bool | compareAndSetBool (Type newValue, Type valueToCompare) noexcept |
| Atomically compares this value with a target value, and if it is equal, sets this to be equal to a new value.
|
Atomic< Type > & | operator= (const Atomic &other) noexcept |
| Copies another value into this one (atomically).
|
Atomic< Type > & | operator= (Type newValue) noexcept |
| Copies another value into this one (atomically).
|
Type | operator+= (DiffType amountToAdd) noexcept |
| Atomically adds a number to this value, returning the new value.
|
Type | operator-= (DiffType amountToSubtract) noexcept |
| Atomically subtracts a number from this value, returning the new value.
|
Type | operator++ () noexcept |
| Atomically increments this value, returning the new value.
|
Type | operator-- () noexcept |
| Atomically decrements this value, returning the new value.
|
void | memoryBarrier () noexcept |
| Implements a memory read/write barrier.
|
template<typename Type>
bool juce::Atomic< Type >::compareAndSetBool |
( |
Type | newValue, |
|
|
Type | valueToCompare ) |
|
noexcept |
Atomically compares this value with a target value, and if it is equal, sets this to be equal to a new value.
This operation is the atomic equivalent of doing this:
{
if (
get() == valueToCompare)
{
return true;
}
return false;
}
Type get() const noexcept
Atomically reads and returns the current value.
Definition juce_Atomic.h:76
void set(Type newValue) noexcept
Atomically sets the current value.
Definition juce_Atomic.h:79
bool compareAndSetBool(Type newValue, Type valueToCompare) noexcept
Atomically compares this value with a target value, and if it is equal, sets this to be equal to a ne...
Definition juce_Atomic.h:108
Internally, this method calls std::atomic::compare_exchange_strong with memory_order_seq_cst (the strictest std::memory_order).
- Returns
- true if the comparison was true and the value was replaced; false if the comparison failed and the value was left unchanged.
- See also
- compareAndSetValue
References value.
Referenced by juce::ThreadLocalValue< Type >::get().