Atomic

This struct represents a value which will be subject to competing access. All accesses to this value will be synchronized with main memory, and various memory barriers may be employed for instruction ordering. Any primitive type of size equal to or smaller than the memory bus size is allowed, so 32-bit machines may use values with size <= int.sizeof and 64-bit machines may use values with size <= long.sizeof. The one exception to this rule is that architectures that support DCAS will allow double-wide storeIf operations. The 32-bit x86 architecture, for example, supports 64-bit storeIf operations.

Members

Templates

decrement
template decrement(msync ms = msync.seq)

///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

decrement
template decrement(msync ms = msync.seq)

///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

increment
template increment(msync ms = msync.seq)

The following additional functions are available for integer types. ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

increment
template increment(msync ms = msync.seq)

///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

load
template load(msync ms = msync.seq)

///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////

store
template store(msync ms = msync.seq)

///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////

storeIf
template storeIf(msync ms = msync.seq)

///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////

Meta