Conditionally swap atomicUint with acquire/release ordering.
Declared in <bsls_atomicoperations_default.h>
static
unsigned int
testAndSwapUintAcqRel(
AtomicTypes::Uint* atomicUint,
unsigned int compareValue,
unsigned int swapValue);
Conditionally set the value of the specified atomicUint to the specified swapValue if and only if the value of atomicInt equals the value of the specified compareValue, and return the initial value of atomicUint, providing the acquire/release memory ordering guarantee. The whole operation is performed atomically.
initial value of atomicUint before the operation
| Name | Description |
|---|---|
| atomicUint | atomic unsigned integer to test and possibly update |
| compareValue | expected current value of atomicUint |
| swapValue | value to store if the comparison succeeds |