Conditionally swap atomicInt with acquire/release ordering.
Declared in <bsls_atomicoperations_all_all_clangintrinsics.h>
static
int
testAndSwapIntAcqRel(
AtomicTypes::Int* atomicInt,
int compareValue,
int swapValue);
Conditionally set the value of the specified atomicInt 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 atomicInt, providing the acquire/release memory ordering guarantee. The whole operation is performed atomically.
initial value of atomicInt before the operation
| Name | Description |
|---|---|
| atomicInt | atomic integer to test and possibly update |
| compareValue | expected current value of atomicInt |
| swapValue | value to store if the comparison succeeds |