Conditionally swap atomicUint with acquire/release ordering.
Synopsis
Declared in <bsls_atomicoperations_default.h>
static
Types::Uint64
testAndSwapUint64AcqRel(
AtomicTypes::Uint64* atomicUint,
Types::Uint64 compareValue,
Types::Uint64 swapValue);
Description
Conditionally set the value of the specified atomicUint to the specified swapValue if and only if the value of atomicUint 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.
Return Value
initial value of atomicUint before the operation
Parameters
Name |
Description |
atomicUint |
atomic unsigned 64‐bit integer to test and possibly update |
compareValue |
expected current value of |
swapValue |
value to store if the comparison succeeds |
Created with MrDocs