oa::Atomic

Atomic class in the OA Core public surface.

Public Methods

void oa::Atomic::Atomic<T>()
void oa::Atomic::Atomic<T>(T inDesired)
void oa::Atomic::Atomic<T>(const Atomic<T> &)
bool oa::Atomic::compareExchangeStrong(T & inExpected, T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential)
bool oa::Atomic::compareExchangeWeak(T & inExpected, T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::exchange(T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::fetchAdd(T inArg, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::fetchAnd(T inArg, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::fetchOr(T inArg, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::fetchSub(T inArg, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::fetchXor(T inArg, MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::load(MemoryOrder inOrder = MemoryOrder::Sequential)
T oa::Atomic::operator T()
T oa::Atomic::operator++()
T oa::Atomic::operator++(int)
T oa::Atomic::operator+=(T inArg)
T oa::Atomic::operator--()
T oa::Atomic::operator--(int)
T oa::Atomic::operator-=(T inArg)
Atomic<T> & oa::Atomic::operator=(const Atomic<T> &)
T oa::Atomic::operator=(T inDesired)
void oa::Atomic::store(T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential)

Public Method Documentation

void oa::Atomic::Atomic<T>()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

void oa::Atomic::Atomic<T>( T inDesired )
No public source comment is attached to this declaration.

Parameters

inDesired
T

Returns

void

The declared return value.

void oa::Atomic::Atomic<T>( const Atomic<T> & )
No public source comment is attached to this declaration.

Parameters

(unnamed)
const Atomic<T> &

Returns

void

The declared return value.

bool oa::Atomic::compareExchangeStrong( T & inExpected, T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inExpected
T &

inDesired
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

bool

The declared return value.

bool oa::Atomic::compareExchangeWeak( T & inExpected, T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inExpected
T &

inDesired
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

bool

The declared return value.

T oa::Atomic::exchange( T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inDesired
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::fetchAdd( T inArg, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inArg
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::fetchAnd( T inArg, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inArg
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::fetchOr( T inArg, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inArg
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::fetchSub( T inArg, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inArg
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::fetchXor( T inArg, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inArg
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::load( MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

T

The declared return value.

T oa::Atomic::operator T()
No public source comment is attached to this declaration.

Returns

T

The declared return value.

T oa::Atomic::operator++()
No public source comment is attached to this declaration.

Returns

T

The declared return value.

T oa::Atomic::operator++( int )
No public source comment is attached to this declaration.

Parameters

(unnamed)
int

Returns

T

The declared return value.

T oa::Atomic::operator+=( T inArg )
No public source comment is attached to this declaration.

Parameters

inArg
T

Returns

T

The declared return value.

T oa::Atomic::operator--()
No public source comment is attached to this declaration.

Returns

T

The declared return value.

T oa::Atomic::operator--( int )
No public source comment is attached to this declaration.

Parameters

(unnamed)
int

Returns

T

The declared return value.

T oa::Atomic::operator-=( T inArg )
No public source comment is attached to this declaration.

Parameters

inArg
T

Returns

T

The declared return value.

Atomic<T> & oa::Atomic::operator=( const Atomic<T> & )
No public source comment is attached to this declaration.

Parameters

(unnamed)
const Atomic<T> &

Returns

Atomic<T> &

The declared return value.

T oa::Atomic::operator=( T inDesired )
No public source comment is attached to this declaration.

Parameters

inDesired
T

Returns

T

The declared return value.

void oa::Atomic::store( T inDesired, MemoryOrder inOrder = MemoryOrder::Sequential )
No public source comment is attached to this declaration.

Parameters

inDesired
T

inOrder
MemoryOrder

Default: MemoryOrder::Sequential

Returns

void

The declared return value.