Simple class to hold a primitive value and perform atomic operations on it. More...
#include <juce_Atomic.h>


Public Types | |
| typedef AtomicBase< Type >::DiffType | DiffType |
| Resulting type when subtracting the underlying Type. More... | |
Public Member Functions | |
| Atomic () noexcept | |
| Creates a new value, initialised to zero. More... | |
| Atomic (const Type initialValue) noexcept | |
| Creates a new value, with a given initial value. More... | |
| Atomic (const Atomic &other) noexcept | |
| Copies another value (atomically). More... | |
| ~Atomic () noexcept | |
| Destructor. More... | |
| 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. More... | |
| Type | compareAndSetValue (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. More... | |
| Type | exchange (Type v) noexcept |
| Atomically sets the current value, returning the value that was replaced. More... | |
| Type | get () const noexcept |
| Atomically reads and returns the current value. More... | |
| Type | operator++ () noexcept |
| Atomically increments this value, returning the new value. More... | |
| Type | operator+= (DiffType amountToAdd) noexcept |
| Atomically adds a number to this value, returning the new value. More... | |
| Type | operator-- () noexcept |
| Atomically decrements this value, returning the new value. More... | |
| Type | operator-= (DiffType amountToSubtract) noexcept |
| Atomically subtracts a number from this value, returning the new value. More... | |
| Atomic & | operator= (const Atomic &other) noexcept |
| Copies another value into this one (atomically). More... | |
| Atomic & | operator= (const Type newValue) noexcept |
| Copies another value into this one (atomically). More... | |
| void | set (Type newValue) noexcept |
| Atomically sets the current value. More... | |
Static Public Member Functions | |
| static void | memoryBarrier () noexcept |
| Implements a memory read/write barrier. More... | |
Simple class to hold a primitive value and perform atomic operations on it.
The type used must be a 32 or 64 bit primitive, like an int, pointer, etc. There are methods to perform most of the basic atomic operations.
Resulting type when subtracting the underlying Type.
Creates a new value, initialised to zero.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
Creates a new value, with a given initial value.
Copies another value (atomically).
|
inlinenoexcept |
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:
Referenced by ThreadLocalValue< Type >::get(), and Atomic< Thread::ThreadID >::memoryBarrier().
|
inlinenoexcept |
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:
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
|
inlinenoexcept |
Atomically sets the current value, returning the value that was replaced.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
|
inlinenoexcept |
Atomically reads and returns the current value.
Referenced by ThreadLocalValue< Type >::get().
|
inlinestaticnoexcept |
Implements a memory read/write barrier.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
|
noexcept |
Atomically increments this value, returning the new value.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
Atomically adds a number to this value, returning the new value.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
|
noexcept |
Atomically decrements this value, returning the new value.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
Atomically subtracts a number from this value, returning the new value.
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
|
inlinenoexcept |
Copies another value into this one (atomically).
Referenced by Atomic< Thread::ThreadID >::memoryBarrier().
Copies another value into this one (atomically).
|
inlinenoexcept |
Atomically sets the current value.
Referenced by RenderingHelpers::GlyphCache< CachedGlyphType, RenderTargetType >::getGlyphForReuse().