BloombergLP::bsls::AtomicUint64

Atomic 64-bit unsigned integer with sequentially consistent ops by default.

Synopsis

Declared in <bsls_atomic.h>

class AtomicUint64;

Description

This class is implements an atomic 64-bit unsigned integer, which supports common unsigned integer operations in a way that is guaranteed to be atomic. Operations on objects of this class provide the sequential consistency memory ordering guarantee unless explicitly qualified with a less strict consistency guarantee suffix (i.e., Acquire, Release, AcqRel or Relaxed).

Member Functions

NameDescription
AtomicUint64 [constructor]Constructors
operator= Atomically assign the specified value to this object, and return a reference offering modifiable access to this object.
add Atomically add the specified value to this object and return the resulting value.
addAcqRel Atomically add the specified value to this object and return the resulting value, providing the acquire/release memory ordering guarantee.
addRelaxed Atomically add the specified value to this object and return the resulting value, providing the relaxed memory ordering guarantee.
load Return the current value of this object.
loadAcquire Return the current value of this object, providing the acquire memory ordering guarantee.
loadRelaxed Return the current value of this object, providing the relaxed memory ordering guarantee.
operator++ Increment operators
operator+= Atomically add the specified value to this object, and return the resulting value.
operator-- Decrement operators
operator-= Atomically subtract the specified value from this object, and return the resulting value.
store Atomically assign the specified value to this object, providing the sequential consistency memory ordering guarantee.
storeRelaxed Atomically assign the specified value to this object, providing the relaxed memory ordering guarantee.
storeRelease Atomically assign the specified value to this object, providing the release memory ordering guarantee.
subtract Atomically subtract the specified value from this object and return the resulting value.
subtractAcqRel Atomically subtract the specified value from this object and return the resulting value, providing the acquire/release memory ordering guarantee.
subtractRelaxed Atomically subtract the specified value from this object and return the resulting value, providing the relaxed memory ordering guarantee.
swap Atomically set the value of this object to the specified swapValue and return its previous value.
swapAcqRel Atomically set the value of this object to the specified swapValue and return its previous value, providing the acquire/release memory ordering guarantee.
testAndSwap Conditionally swap this value if it equals compareValue.
testAndSwapAcqRel Conditionally swap this value with acquire/release ordering.
operator Types::Uint64 Return the current value of this object.