BloombergLP::bsls::AtomicOperations_DefaultUint::testAndSwapUint

Conditionally swap atomicUint if it equals compareValue.

Synopsis

Declared in <bsls_atomicoperations_default.h>

static
unsigned int
testAndSwapUint(
    AtomicTypes::Uint* atomicUint,
    unsigned int compareValue,
    unsigned int 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 sequential consistency memory ordering guarantee. The whole operation is performed atomically.

Return Value

initial value of atomicUint before the operation

Parameters

NameDescription
atomicUintatomic unsigned integer to test and possibly update
compareValueexpected current value of atomicUint
swapValuevalue to store if the comparison succeeds