BloombergLP::bsls::AtomicOperations_DefaultInt64::testAndSwapInt64AcqRel

Conditionally swap atomicInt with acquire/release ordering.

Synopsis

Declared in <bsls_atomicoperations_default.h>

static
Types::Int64
testAndSwapInt64AcqRel(
    AtomicTypes::Int64* atomicInt,
    Types::Int64 compareValue,
    Types::Int64 swapValue);

Description

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 sequential consistency memory ordering guarantee. The whole operation is performed atomically.

Return Value

initial value of atomicInt before the operation

Parameters

NameDescription
atomicIntatomic 64-bit integer to test and possibly update
compareValueexpected current value of atomicInt
swapValuevalue to store if the comparison succeeds