Quick Links:

bal | bbl | bdl | bsl

Public Types | Static Public Member Functions

bsls::AtomicOperations Struct Reference

#include <bsls_atomicoperations.h>

List of all members.

Public Types

typedef AtomicOperations_Imp Imp
typedef Atomic_TypeTraits< ImpAtomicTypes

Static Public Member Functions

static int getInt (AtomicTypes::Int const *atomicInt)
static int getIntAcquire (AtomicTypes::Int const *atomicInt)
static int getIntRelaxed (AtomicTypes::Int const *atomicInt)
static void initInt (AtomicTypes::Int *atomicInt, int initialValue=0)
static void setInt (AtomicTypes::Int *atomicInt, int value)
static void setIntRelaxed (AtomicTypes::Int *atomicInt, int value)
static void setIntRelease (AtomicTypes::Int *atomicInt, int value)
static int swapInt (AtomicTypes::Int *atomicInt, int swapValue)
static int swapIntAcqRel (AtomicTypes::Int *atomicInt, int swapValue)
static int testAndSwapInt (AtomicTypes::Int *atomicInt, int compareValue, int swapValue)
static int testAndSwapIntAcqRel (AtomicTypes::Int *atomicInt, int compareValue, int swapValue)
static void addInt (AtomicTypes::Int *atomicInt, int value)
static void addIntAcqRel (AtomicTypes::Int *atomicInt, int value)
static void addIntRelaxed (AtomicTypes::Int *atomicInt, int value)
static int addIntNv (AtomicTypes::Int *atomicInt, int value)
static int addIntNvAcqRel (AtomicTypes::Int *atomicInt, int value)
static int addIntNvRelaxed (AtomicTypes::Int *atomicInt, int value)
static void decrementInt (AtomicTypes::Int *atomicInt)
static void decrementIntAcqRel (AtomicTypes::Int *atomicInt)
static int decrementIntNv (AtomicTypes::Int *atomicInt)
static int decrementIntNvAcqRel (AtomicTypes::Int *atomicInt)
static void incrementInt (AtomicTypes::Int *atomicInt)
static void incrementIntAcqRel (AtomicTypes::Int *atomicInt)
static int incrementIntNv (AtomicTypes::Int *atomicInt)
static int incrementIntNvAcqRel (AtomicTypes::Int *atomicInt)
static int subtractIntNv (AtomicTypes::Int *atomicInt, int value)
static int subtractIntNvAcqRel (AtomicTypes::Int *atomicInt, int value)
static int subtractIntNvRelaxed (AtomicTypes::Int *atomicInt, int value)
static Types::Int64 getInt64 (AtomicTypes::Int64 const *atomicInt)
static Types::Int64 getInt64Acquire (AtomicTypes::Int64 const *atomicInt)
static Types::Int64 getInt64Relaxed (AtomicTypes::Int64 const *atomicInt)
static void initInt64 (AtomicTypes::Int64 *atomicInt, Types::Int64 initialValue=0)
static void setInt64 (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static void setInt64Relaxed (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static void setInt64Release (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static Types::Int64 swapInt64 (AtomicTypes::Int64 *atomicInt, Types::Int64 swapValue)
static Types::Int64 swapInt64AcqRel (AtomicTypes::Int64 *atomicInt, Types::Int64 swapValue)
static Types::Int64 testAndSwapInt64 (AtomicTypes::Int64 *atomicInt, Types::Int64 compareValue, Types::Int64 swapValue)
static Types::Int64 testAndSwapInt64AcqRel (AtomicTypes::Int64 *atomicInt, Types::Int64 compareValue, Types::Int64 swapValue)
static void addInt64 (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static void addInt64AcqRel (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static void addInt64Relaxed (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static Types::Int64 addInt64Nv (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static Types::Int64 addInt64NvAcqRel (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static Types::Int64 addInt64NvRelaxed (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static void decrementInt64 (AtomicTypes::Int64 *atomicInt)
static void decrementInt64AcqRel (AtomicTypes::Int64 *atomicInt)
static Types::Int64 decrementInt64Nv (AtomicTypes::Int64 *atomicInt)
static Types::Int64 decrementInt64NvAcqRel (AtomicTypes::Int64 *atomicInt)
static void incrementInt64 (AtomicTypes::Int64 *atomicInt)
static void incrementInt64AcqRel (AtomicTypes::Int64 *atomicInt)
static Types::Int64 incrementInt64Nv (AtomicTypes::Int64 *atomicInt)
static Types::Int64 incrementInt64NvAcqRel (AtomicTypes::Int64 *atomicInt)
static Types::Int64 subtractInt64Nv (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static Types::Int64 subtractInt64NvAcqRel (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static Types::Int64 subtractInt64NvRelaxed (AtomicTypes::Int64 *atomicInt, Types::Int64 value)
static unsigned int getUint (AtomicTypes::Uint const *atomicUint)
static unsigned int getUintAcquire (AtomicTypes::Uint const *atomicUint)
static unsigned int getUintRelaxed (AtomicTypes::Uint const *atomicUint)
static void initUint (AtomicTypes::Uint *atomicUint, unsigned int initialValue=0)
static void setUint (AtomicTypes::Uint *atomicUint, unsigned int value)
static void setUintRelaxed (AtomicTypes::Uint *atomicUint, unsigned int value)
static void setUintRelease (AtomicTypes::Uint *atomicUint, unsigned int value)
static unsigned int swapUint (AtomicTypes::Uint *atomicUint, unsigned int swapValue)
static unsigned int swapUintAcqRel (AtomicTypes::Uint *atomicUint, unsigned int swapValue)
static unsigned int testAndSwapUint (AtomicTypes::Uint *atomicUint, unsigned int compareValue, unsigned int swapValue)
static unsigned int testAndSwapUintAcqRel (AtomicTypes::Uint *atomicUint, unsigned int compareValue, unsigned int swapValue)
static void addUint (AtomicTypes::Uint *atomicUint, unsigned int value)
static void addUintAcqRel (AtomicTypes::Uint *atomicUint, unsigned int value)
static void addUintRelaxed (AtomicTypes::Uint *atomicUint, unsigned int value)
static unsigned int addUintNv (AtomicTypes::Uint *atomicUint, unsigned int value)
static unsigned int addUintNvAcqRel (AtomicTypes::Uint *atomicUint, unsigned int value)
static unsigned int addUintNvRelaxed (AtomicTypes::Uint *atomicUint, unsigned int value)
static void decrementUint (AtomicTypes::Uint *atomicUint)
static void decrementUintAcqRel (AtomicTypes::Uint *atomicUint)
static unsigned int decrementUintNv (AtomicTypes::Uint *atomicUint)
static unsigned int decrementUintNvAcqRel (AtomicTypes::Uint *atomicUint)
static void incrementUint (AtomicTypes::Uint *atomicUint)
static void incrementUintAcqRel (AtomicTypes::Uint *atomicUint)
static unsigned int incrementUintNv (AtomicTypes::Uint *atomicUint)
static unsigned int incrementUintNvAcqRel (AtomicTypes::Uint *atomicUint)
static unsigned int subtractUintNv (AtomicTypes::Uint *atomicUint, unsigned int value)
static unsigned int subtractUintNvAcqRel (AtomicTypes::Uint *atomicUint, unsigned int value)
static unsigned int subtractUintNvRelaxed (AtomicTypes::Uint *atomicUint, unsigned int value)
static Types::Uint64 getUint64 (AtomicTypes::Uint64 const *atomicUint)
static Types::Uint64 getUint64Acquire (AtomicTypes::Uint64 const *atomicUint)
static Types::Uint64 getUint64Relaxed (AtomicTypes::Uint64 const *atomicUint)
static void initUint64 (AtomicTypes::Uint64 *atomicUint, Types::Uint64 initialValue=0)
static void setUint64 (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static void setUint64Relaxed (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static void setUint64Release (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static Types::Uint64 swapUint64 (AtomicTypes::Uint64 *atomicUint, Types::Uint64 swapValue)
static Types::Uint64 swapUint64AcqRel (AtomicTypes::Uint64 *atomicUint, Types::Uint64 swapValue)
static Types::Uint64 testAndSwapUint64 (AtomicTypes::Uint64 *atomicUint, Types::Uint64 compareValue, Types::Uint64 swapValue)
static Types::Uint64 testAndSwapUint64AcqRel (AtomicTypes::Uint64 *atomicUint, Types::Uint64 compareValue, Types::Uint64 swapValue)
static void addUint64 (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static void addUint64AcqRel (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static void addUint64Relaxed (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static Types::Uint64 addUint64Nv (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static Types::Uint64 addUint64NvAcqRel (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static Types::Uint64 addUint64NvRelaxed (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static void decrementUint64 (AtomicTypes::Uint64 *atomicUint)
static void decrementUint64AcqRel (AtomicTypes::Uint64 *atomicUint)
static Types::Uint64 decrementUint64Nv (AtomicTypes::Uint64 *atomicUint)
static Types::Uint64 decrementUint64NvAcqRel (AtomicTypes::Uint64 *atomicUint)
static void incrementUint64 (AtomicTypes::Uint64 *atomicUint)
static void incrementUint64AcqRel (AtomicTypes::Uint64 *atomicUint)
static Types::Uint64 incrementUint64Nv (AtomicTypes::Uint64 *atomicUint)
static Types::Uint64 incrementUint64NvAcqRel (AtomicTypes::Uint64 *atomicUint)
static Types::Uint64 subtractUint64Nv (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static Types::Uint64 subtractUint64NvAcqRel (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static Types::Uint64 subtractUint64NvRelaxed (AtomicTypes::Uint64 *atomicUint, Types::Uint64 value)
static void * getPtr (AtomicTypes::Pointer const *atomicPtr)
static void * getPtrAcquire (AtomicTypes::Pointer const *atomicPtr)
static void * getPtrRelaxed (AtomicTypes::Pointer const *atomicPtr)
static void initPointer (AtomicTypes::Pointer *atomicPtr, void *initialValue=0)
static void setPtr (AtomicTypes::Pointer *atomicPtr, void *value)
static void setPtrRelaxed (AtomicTypes::Pointer *atomicPtr, void *value)
static void setPtrRelease (AtomicTypes::Pointer *atomicPtr, void *value)
static void * swapPtr (AtomicTypes::Pointer *atomicPtr, void *swapValue)
static void * swapPtrAcqRel (AtomicTypes::Pointer *atomicPtr, void *swapValue)
static void * testAndSwapPtr (AtomicTypes::Pointer *atomicPtr, void *compareValue, void *swapValue)
static void * testAndSwapPtrAcqRel (AtomicTypes::Pointer *atomicPtr, void *compareValue, void *swapValue)

Detailed Description

AtomicOperations provides a namespace for a suite of atomic operations on the following types as defined by the AtomicTypes typedef: integer - AtomicTypes::Int, 64bit integer - AtomicTypes::Int64, pointer - AtomicTypes::Pointer.

See Component bsls_atomicoperations


Member Typedef Documentation

typedef AtomicOperations_Imp bsls::AtomicOperations::Imp
typedef Atomic_TypeTraits<Imp> bsls::AtomicOperations::AtomicTypes

Member Function Documentation

static int bsls::AtomicOperations::getInt ( AtomicTypes::Int const *  atomicInt  )  [static]

Atomically retrieve the value of the specified atomicInt, providing the sequential consistency memory ordering guarantee.

static int bsls::AtomicOperations::getIntAcquire ( AtomicTypes::Int const *  atomicInt  )  [static]

Atomically retrieve the value of the specified atomicInt, providing the acquire memory ordering guarantee.

static int bsls::AtomicOperations::getIntRelaxed ( AtomicTypes::Int const *  atomicInt  )  [static]

Atomically retrieve the value of the specified atomicInt, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::initInt ( AtomicTypes::Int *  atomicInt,
int  initialValue = 0 
) [static]

Initialize the specified atomicInt and set its value to the optionally specified initialValue.

static void bsls::AtomicOperations::setInt ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically set the value of the specified atomicInt to the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::setIntRelaxed ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically set the value of the specified atomicInt to the specified value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::setIntRelease ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically set the value of the specified atomicInt to the specified value, providing the release memory ordering guarantee.

static int bsls::AtomicOperations::swapInt ( AtomicTypes::Int *  atomicInt,
int  swapValue 
) [static]

Atomically set the value of the specified atomicInt to the specified swapValue, and return its previous value, providing the sequential consistency memory ordering guarantee.

static int bsls::AtomicOperations::swapIntAcqRel ( AtomicTypes::Int *  atomicInt,
int  swapValue 
) [static]

Atomically set the value of the specified atomicInt to the specified swapValue, and return its previous value, providing the acquire/release memory ordering guarantee.

static int bsls::AtomicOperations::testAndSwapInt ( AtomicTypes::Int *  atomicInt,
int  compareValue,
int  swapValue 
) [static]

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.

static int bsls::AtomicOperations::testAndSwapIntAcqRel ( AtomicTypes::Int *  atomicInt,
int  compareValue,
int  swapValue 
) [static]

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 acquire/release memory ordering guarantee. The whole operation is performed atomically.

static void bsls::AtomicOperations::addInt ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically add to the specified atomicInt the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::addIntAcqRel ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically add to the specified atomicInt the specified value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::addIntRelaxed ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically add to the specified atomicInt the specified value, without providing any memory ordering guarantees.

static int bsls::AtomicOperations::addIntNv ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically add to the specified atomicInt the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static int bsls::AtomicOperations::addIntNvAcqRel ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically add to the specified atomicInt the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static int bsls::AtomicOperations::addIntNvRelaxed ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically add to the specified atomicInt the specified value and return the resulting value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::decrementInt ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically decrement the value of the specified atomicInt by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::decrementIntAcqRel ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically decrement the value of the specified atomicInt by 1, providing the acquire/release memory ordering guarantee.

static int bsls::AtomicOperations::decrementIntNv ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically decrement the specified atomicInt by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static int bsls::AtomicOperations::decrementIntNvAcqRel ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically decrement the specified atomicInt by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::incrementInt ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically increment the value of the specified atomicInt by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::incrementIntAcqRel ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically increment the value of the specified atomicInt by 1, providing the acquire/release memory ordering guarantee.

static int bsls::AtomicOperations::incrementIntNv ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically increment the specified atomicInt by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static int bsls::AtomicOperations::incrementIntNvAcqRel ( AtomicTypes::Int *  atomicInt  )  [static]

Atomically increment the specified atomicInt by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static int bsls::AtomicOperations::subtractIntNv ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically subtract from the specified atomicInt the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static int bsls::AtomicOperations::subtractIntNvAcqRel ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically subtract from the specified atomicInt the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static int bsls::AtomicOperations::subtractIntNvRelaxed ( AtomicTypes::Int *  atomicInt,
int  value 
) [static]

Atomically subtract from the specified atomicInt the specified value and return the resulting value, without providing any memory ordering guarantees.

static Types::Int64 bsls::AtomicOperations::getInt64 ( AtomicTypes::Int64 const *  atomicInt  )  [static]

Atomically retrieve the value of the specified atomicInt, providing the sequential consistency memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::getInt64Acquire ( AtomicTypes::Int64 const *  atomicInt  )  [static]

Atomically retrieve the value of the specified atomicInt, providing the acquire memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::getInt64Relaxed ( AtomicTypes::Int64 const *  atomicInt  )  [static]

Atomically retrieve the value of the specified atomicInt, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::initInt64 ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  initialValue = 0 
) [static]

Initialize the specified atomicInt and set its value to the optionally specified initialValue.

static void bsls::AtomicOperations::setInt64 ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically set the value of the specified atomicInt to the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::setInt64Relaxed ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically set the value of the specified atomicInt to the specified value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::setInt64Release ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically set the value of the specified atomicInt to the specified value, providing the release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::swapInt64 ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  swapValue 
) [static]

Atomically set the value of the specified atomicInt to the specified swapValue and return its previous value, providing the sequential consistency memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::swapInt64AcqRel ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  swapValue 
) [static]

Atomically set the value of the specified atomicInt to the specified swapValue and return its previous value, providing the acquire/release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::testAndSwapInt64 ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  compareValue,
Types::Int64  swapValue 
) [static]

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.

static Types::Int64 bsls::AtomicOperations::testAndSwapInt64AcqRel ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  compareValue,
Types::Int64  swapValue 
) [static]

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 acquire/release memory ordering guarantee. The whole operation is performed atomically.

static void bsls::AtomicOperations::addInt64 ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically add to the specified atomicInt the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::addInt64AcqRel ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically add to the specified atomicInt the specified value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::addInt64Relaxed ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically add to the specified atomicInt the specified value, without providing any memory ordering guarantees.

static Types::Int64 bsls::AtomicOperations::addInt64Nv ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically add to the specified atomicInt the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::addInt64NvAcqRel ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically add to the specified atomicInt the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::addInt64NvRelaxed ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically add to the specified atomicInt the specified value and return the resulting value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::decrementInt64 ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically decrement the specified atomicInt by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::decrementInt64AcqRel ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically decrement the specified atomicInt by 1, providing the acquire/release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::decrementInt64Nv ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically decrement the specified atomicInt by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::decrementInt64NvAcqRel ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically decrement the specified atomicInt by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::incrementInt64 ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically increment the value of the specified atomicInt by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::incrementInt64AcqRel ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically increment the value of the specified atomicInt by 1, providing the acquire/release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::incrementInt64Nv ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically increment the specified atomicInt by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::incrementInt64NvAcqRel ( AtomicTypes::Int64 *  atomicInt  )  [static]

Atomically increment the specified atomicInt by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::subtractInt64Nv ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically subtract from the specified atomicInt the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::subtractInt64NvAcqRel ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically subtract from the specified atomicInt the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static Types::Int64 bsls::AtomicOperations::subtractInt64NvRelaxed ( AtomicTypes::Int64 *  atomicInt,
Types::Int64  value 
) [static]

Atomically subtract from the specified atomicInt the specified value and return the resulting value, without providing any memory ordering guarantees.

static unsigned int bsls::AtomicOperations::getUint ( AtomicTypes::Uint const *  atomicUint  )  [static]

Atomically retrieve the value of the specified atomicUint, providing the sequential consistency memory ordering guarantee.

static unsigned int bsls::AtomicOperations::getUintAcquire ( AtomicTypes::Uint const *  atomicUint  )  [static]

Atomically retrieve the value of the specified atomicUint, providing the acquire memory ordering guarantee.

static unsigned int bsls::AtomicOperations::getUintRelaxed ( AtomicTypes::Uint const *  atomicUint  )  [static]

Atomically retrieve the value of the specified atomicUint, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::initUint ( AtomicTypes::Uint *  atomicUint,
unsigned int  initialValue = 0 
) [static]

Initialize the specified atomicUint and set its value to the optionally specified initialValue.

static void bsls::AtomicOperations::setUint ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically set the value of the specified atomicUint to the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::setUintRelaxed ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically set the value of the specified atomicUint to the specified value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::setUintRelease ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically set the value of the specified atomicUint to the specified value, providing the release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::swapUint ( AtomicTypes::Uint *  atomicUint,
unsigned int  swapValue 
) [static]

Atomically set the value of the specified atomicUint to the specified swapValue, and return its previous value, providing the sequential consistency memory ordering guarantee.

static unsigned int bsls::AtomicOperations::swapUintAcqRel ( AtomicTypes::Uint *  atomicUint,
unsigned int  swapValue 
) [static]

Atomically set the value of the specified atomicUint to the specified swapValue, and return its previous value, providing the acquire/release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::testAndSwapUint ( AtomicTypes::Uint *  atomicUint,
unsigned int  compareValue,
unsigned int  swapValue 
) [static]

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.

static unsigned int bsls::AtomicOperations::testAndSwapUintAcqRel ( AtomicTypes::Uint *  atomicUint,
unsigned int  compareValue,
unsigned int  swapValue 
) [static]

Conditionally set the value of the specified atomicUint 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 atomicUint, providing the acquire/release memory ordering guarantee. The whole operation is performed atomically.

static void bsls::AtomicOperations::addUint ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically add to the specified atomicUint the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::addUintAcqRel ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically add to the specified atomicUint the specified value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::addUintRelaxed ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically add to the specified atomicUint the specified value, without providing any memory ordering guarantees.

static unsigned int bsls::AtomicOperations::addUintNv ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically add to the specified atomicUint the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static unsigned int bsls::AtomicOperations::addUintNvAcqRel ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically add to the specified atomicUint the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::addUintNvRelaxed ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically add to the specified atomicUint the specified value and return the resulting value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::decrementUint ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically decrement the value of the specified atomicUint by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::decrementUintAcqRel ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically decrement the value of the specified atomicUint by 1, providing the acquire/release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::decrementUintNv ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically decrement the specified atomicUint by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static unsigned int bsls::AtomicOperations::decrementUintNvAcqRel ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically decrement the specified atomicUint by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::incrementUint ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically increment the value of the specified atomicUint by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::incrementUintAcqRel ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically increment the value of the specified atomicUint by 1, providing the acquire/release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::incrementUintNv ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically increment the specified atomicUint by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static unsigned int bsls::AtomicOperations::incrementUintNvAcqRel ( AtomicTypes::Uint *  atomicUint  )  [static]

Atomically increment the specified atomicUint by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::subtractUintNv ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically subtract from the specified atomicUint the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static unsigned int bsls::AtomicOperations::subtractUintNvAcqRel ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically subtract from the specified atomicUint the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static unsigned int bsls::AtomicOperations::subtractUintNvRelaxed ( AtomicTypes::Uint *  atomicUint,
unsigned int  value 
) [static]

Atomically subtract from the specified atomicUint the specified value and return the resulting value, without providing any memory ordering guarantees.

static Types::Uint64 bsls::AtomicOperations::getUint64 ( AtomicTypes::Uint64 const *  atomicUint  )  [static]

Atomically retrieve the value of the specified atomicUint, providing the sequential consistency memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::getUint64Acquire ( AtomicTypes::Uint64 const *  atomicUint  )  [static]

Atomically retrieve the value of the specified atomicUint, providing the acquire memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::getUint64Relaxed ( AtomicTypes::Uint64 const *  atomicUint  )  [static]

Atomically retrieve the value of the specified atomicUint, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::initUint64 ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  initialValue = 0 
) [static]

Initialize the specified atomicUint and set its value to the optionally specified initialValue.

static void bsls::AtomicOperations::setUint64 ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically set the value of the specified atomicUint to the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::setUint64Relaxed ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically set the value of the specified atomicUint to the specified value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::setUint64Release ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically set the value of the specified atomicUint to the specified value, providing the release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::swapUint64 ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  swapValue 
) [static]

Atomically set the value of the specified atomicUint to the specified swapValue and return its previous value, providing the sequential consistency memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::swapUint64AcqRel ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  swapValue 
) [static]

Atomically set the value of the specified atomicUint to the specified swapValue and return its previous value, providing the acquire/release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::testAndSwapUint64 ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  compareValue,
Types::Uint64  swapValue 
) [static]

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.

static Types::Uint64 bsls::AtomicOperations::testAndSwapUint64AcqRel ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  compareValue,
Types::Uint64  swapValue 
) [static]

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 acquire/release memory ordering guarantee. The whole operation is performed atomically.

static void bsls::AtomicOperations::addUint64 ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically add to the specified atomicUint the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::addUint64AcqRel ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically add to the specified atomicUint the specified value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::addUint64Relaxed ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically add to the specified atomicUint the specified value, without providing any memory ordering guarantees.

static Types::Uint64 bsls::AtomicOperations::addUint64Nv ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically add to the specified atomicUint the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::addUint64NvAcqRel ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically add to the specified atomicUint the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::addUint64NvRelaxed ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically add to the specified atomicUint the specified value and return the resulting value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::decrementUint64 ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically decrement the specified atomicUint by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::decrementUint64AcqRel ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically decrement the specified atomicUint by 1, providing the acquire/release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::decrementUint64Nv ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically decrement the specified atomicUint by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::decrementUint64NvAcqRel ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically decrement the specified atomicUint by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static void bsls::AtomicOperations::incrementUint64 ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically increment the value of the specified atomicUint by 1, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::incrementUint64AcqRel ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically increment the value of the specified atomicUint by 1, providing the acquire/release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::incrementUint64Nv ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically increment the specified atomicUint by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::incrementUint64NvAcqRel ( AtomicTypes::Uint64 *  atomicUint  )  [static]

Atomically increment the specified atomicUint by 1 and return the resulting value, providing the acquire/release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::subtractUint64Nv ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically subtract from the specified atomicUint the specified value and return the resulting value, providing the sequential consistency memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::subtractUint64NvAcqRel ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically subtract from the specified atomicUint the specified value and return the resulting value, providing the acquire/release memory ordering guarantee.

static Types::Uint64 bsls::AtomicOperations::subtractUint64NvRelaxed ( AtomicTypes::Uint64 *  atomicUint,
Types::Uint64  value 
) [static]

Atomically subtract from the specified atomicUint the specified value and return the resulting value, without providing any memory ordering guarantees.

static void* bsls::AtomicOperations::getPtr ( AtomicTypes::Pointer const *  atomicPtr  )  [static]

Atomically retrieve the value of the specified atomicPtr, providing the sequential consistency memory ordering guarantee.

static void* bsls::AtomicOperations::getPtrAcquire ( AtomicTypes::Pointer const *  atomicPtr  )  [static]

Atomically retrieve the value of the specified atomicPtr, providing the acquire memory ordering guarantee.

static void* bsls::AtomicOperations::getPtrRelaxed ( AtomicTypes::Pointer const *  atomicPtr  )  [static]

Atomically retrieve the value of the specified atomicPtr, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::initPointer ( AtomicTypes::Pointer *  atomicPtr,
void *  initialValue = 0 
) [static]

Initialize the specified atomicPtr and set its value to the optionally specified initialValue.

static void bsls::AtomicOperations::setPtr ( AtomicTypes::Pointer *  atomicPtr,
void *  value 
) [static]

Atomically set the value of the specified atomicPtr to the specified value, providing the sequential consistency memory ordering guarantee.

static void bsls::AtomicOperations::setPtrRelaxed ( AtomicTypes::Pointer *  atomicPtr,
void *  value 
) [static]

Atomically set the value of the specified atomicPtr to the specified value, without providing any memory ordering guarantees.

static void bsls::AtomicOperations::setPtrRelease ( AtomicTypes::Pointer *  atomicPtr,
void *  value 
) [static]

Atomically set the value of the specified atomicPtr to the specified value, providing the release memory ordering guarantee.

static void* bsls::AtomicOperations::swapPtr ( AtomicTypes::Pointer *  atomicPtr,
void *  swapValue 
) [static]

Atomically set the value of the specified atomicPtr to the specified swapValue, and return its previous value, providing the sequential consistency memory ordering guarantee.

static void* bsls::AtomicOperations::swapPtrAcqRel ( AtomicTypes::Pointer *  atomicPtr,
void *  swapValue 
) [static]

Atomically set the value of the specified atomicPtr to the specified swapValue, and return its previous value, providing the acquire/release memory ordering guarantee.

static void* bsls::AtomicOperations::testAndSwapPtr ( AtomicTypes::Pointer *  atomicPtr,
void *  compareValue,
void *  swapValue 
) [static]

Conditionally set the value of the specified atomicPtr to the specified swapValue if and only if the value of atomicPtr equals the value of the specified compareValue, and return the initial value of atomicPtr, providing the sequential consistency memory ordering guarantee. The whole operation is performed atomically.

static void* bsls::AtomicOperations::testAndSwapPtrAcqRel ( AtomicTypes::Pointer *  atomicPtr,
void *  compareValue,
void *  swapValue 
) [static]

Conditionally set the value of the specified atomicPtr to the specified swapValue if and only if the value of atomicPtr equals the value of the specified compareValue, and return the initial value of atomicPtr, providing the acquire/release memory ordering guarantee. The whole operation is performed atomically.


The documentation for this struct was generated from the following file: