BDE 4.14.0 Production release
|
#include <bsls_atomic.h>
Public Member Functions | |
AtomicInt () | |
Create an atomic integer object having the default value 0. | |
AtomicInt (int value) | |
Create an atomic integer object having the specified value . | |
~AtomicInt ()=default | |
AtomicInt & | operator= (int value) |
int | operator+= (int value) |
int | operator-= (int value) |
int | operator++ () |
int | operator++ (int) |
int | operator-- () |
int | operator-- (int) |
int | add (int value) |
int | addAcqRel (int value) |
int | addRelaxed (int value) |
void | store (int value) |
void | storeRelaxed (int value) |
void | storeRelease (int value) |
int | subtract (int value) |
int | subtractAcqRel (int value) |
int | subtractRelaxed (int value) |
int | swap (int swapValue) |
int | swapAcqRel (int swapValue) |
int | testAndSwap (int compareValue, int swapValue) |
int | testAndSwapAcqRel (int compareValue, int swapValue) |
operator int () const | |
Return the current value of this object. | |
int | load () const |
Return the current value of this object. | |
int | loadAcquire () const |
int | loadRelaxed () const |
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).
See bsls_atomic
|
inline |
|
inline |
|
default |
|
inline |
Atomically add the specified value
to this object and return the resulting value.
|
inline |
Atomically add the specified value
to this object and return the resulting value, providing the acquire/release memory ordering guarantee.
|
inline |
Atomically add the specified value
to this object and return the resulting value, providing the relaxed memory ordering guarantee.
|
inline |
|
inline |
Return the current value of this object, providing the acquire memory ordering guarantee.
|
inline |
Return the current value of this object, providing the relaxed memory ordering guarantee.
|
inline |
|
inline |
Atomically increment the value of this object by 1 and return the resulting value.
|
inline |
Atomically increment the value of this object by 1 and return the value prior to being incremented.
|
inline |
Atomically add the specified value
to this object, and return the resulting value.
|
inline |
Atomically decrement the value of this object by 1 and return the resulting value.
|
inline |
Atomically decrement the value of this object by 1 and return the value prior to being decremented.
|
inline |
Atomically subtract the specified value
from this object, and return the resulting value.
|
inline |
Atomically assign the specified value
to this object, and return a reference offering modifiable access to this
object.
|
inline |
Atomically assign the specified value
to this object, providing the sequential consistency memory ordering guarantee.
|
inline |
Atomically assign the specified value
to this object, providing the relaxed memory ordering guarantee.
|
inline |
Atomically assign the specified value
to this object, providing the release memory ordering guarantee.
|
inline |
Atomically subtract the specified value
to this object and return the resulting value.
|
inline |
Atomically subtract the specified value
to this object and return the resulting value, providing the acquire/release memory ordering guarantee.
|
inline |
Atomically subtract the specified value
to this object and return the resulting value, providing the relaxed memory ordering guarantee.
|
inline |
Atomically set the value of this object to the specified swapValue
and return its previous value.
|
inline |
Atomically set the value of this object to the specified swapValue
and return its previous value, providing the acquire/release memory ordering guarantee.
|
inline |
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.
|
inline |
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.