Conditionally swap this value with acquire/release ordering.
Synopsis
Declared in <bsls_atomic.h>
Types::Int64
testAndSwapAcqRel(
Types::Int64 compareValue,
Types::Int64 swapValue);
Description
Compare the value of this object to the specified compareValue. If they are equal, set the value of this atomic integer to the specified swapValue, otherwise leave this value unchanged. Return the previous value of this atomic integer, whether or not the swap occurred. Note that the entire test‐and‐swap operation is performed atomically and it provides the acquire/release memory ordering guarantee.
Return Value
previous value of this object
Parameters
Name |
Description |
compareValue |
expected current value of this object |
swapValue |
value to store if the comparison succeeds |
Created with MrDocs