Atomic integer providing sequentially consistent operations by default.
Declared in <bsls_atomic.h>
class AtomicInt;
This class implements an atomic integer, which supports common 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).
| Name | Description |
|---|---|
AtomicInt [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 to this object and return the resulting value. |
subtractAcqRel | Atomically subtract the specified value to this object and return the resulting value, providing the acquire/release memory ordering guarantee. |
subtractRelaxed | Atomically subtract the specified value to 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 int | Return the current value of this object. |