///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
The following additional functions are available for integer types. ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
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.