Quick Links: |
#include <bsls_atomicoperations_default.h>
Public Types | |
typedef Atomic_TypeTraits< IMP > | AtomicTypes |
Static Public Member Functions | |
static unsigned int | getUint (typename AtomicTypes::Uint const *atomicUint) |
static unsigned int | getUintAcquire (typename AtomicTypes::Uint const *atomicUint) |
static unsigned int | getUintRelaxed (typename AtomicTypes::Uint const *atomicUint) |
static void | initUint (typename AtomicTypes::Uint *atomicUint, unsigned int initialValue=0) |
static void | setUint (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static void | setUintRelaxed (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static void | setUintRelease (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static unsigned int | swapUint (typename AtomicTypes::Uint *atomicUint, unsigned int swapValue) |
static unsigned int | swapUintAcqRel (typename AtomicTypes::Uint *atomicUint, unsigned int swapValue) |
static unsigned int | testAndSwapUint (typename AtomicTypes::Uint *atomicUint, unsigned int compareValue, unsigned int swapValue) |
static unsigned int | testAndSwapUintAcqRel (typename AtomicTypes::Uint *atomicUint, unsigned int compareValue, unsigned int swapValue) |
static void | addUint (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static void | addUintAcqRel (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static void | addUintRelaxed (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static unsigned int | addUintNv (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static unsigned int | addUintNvAcqRel (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static unsigned int | addUintNvRelaxed (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static void | decrementUint (typename AtomicTypes::Uint *atomicUint) |
static void | decrementUintAcqRel (typename AtomicTypes::Uint *atomicUint) |
static unsigned int | decrementUintNv (typename AtomicTypes::Uint *atomicUint) |
static unsigned int | decrementUintNvAcqRel (typename AtomicTypes::Uint *atomicUint) |
static void | incrementUint (typename AtomicTypes::Uint *atomicUint) |
static void | incrementUintAcqRel (typename AtomicTypes::Uint *atomicUint) |
static unsigned int | incrementUintNv (typename AtomicTypes::Uint *atomicUint) |
static unsigned int | incrementUintNvAcqRel (typename AtomicTypes::Uint *atomicUint) |
static unsigned int | subtractUintNv (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static unsigned int | subtractUintNvAcqRel (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
static unsigned int | subtractUintNvRelaxed (typename AtomicTypes::Uint *atomicUint, unsigned int value) |
typedef Atomic_TypeTraits<IMP> bsls::AtomicOperations_DefaultUint< IMP >::AtomicTypes |
static unsigned int bsls::AtomicOperations_DefaultUint< IMP >::getUint | ( | typename 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_DefaultUint< IMP >::getUintAcquire | ( | typename AtomicTypes::Uint const * | atomicUint | ) | [static] |
Atomically retrieve the value of the specified atomicUint
, providing the acquire memory ordering guarantee.
static unsigned int bsls::AtomicOperations_DefaultUint< IMP >::getUintRelaxed | ( | typename AtomicTypes::Uint const * | atomicUint | ) | [static] |
Atomically retrieve the value of the specified atomicUint
, without providing any memory ordering guarantees.
static void bsls::AtomicOperations_DefaultUint< IMP >::initUint | ( | typename 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_DefaultUint< IMP >::setUint | ( | typename 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_DefaultUint< IMP >::setUintRelaxed | ( | typename 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_DefaultUint< IMP >::setUintRelease | ( | typename 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_DefaultUint< IMP >::swapUint | ( | typename 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_DefaultUint< IMP >::swapUintAcqRel | ( | typename 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_DefaultUint< IMP >::testAndSwapUint | ( | typename 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_DefaultUint< IMP >::testAndSwapUintAcqRel | ( | typename 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_DefaultUint< IMP >::addUint | ( | typename 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_DefaultUint< IMP >::addUintAcqRel | ( | typename 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_DefaultUint< IMP >::addUintRelaxed | ( | typename 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_DefaultUint< IMP >::addUintNv | ( | typename 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_DefaultUint< IMP >::addUintNvAcqRel | ( | typename 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_DefaultUint< IMP >::addUintNvRelaxed | ( | typename 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_DefaultUint< IMP >::decrementUint | ( | typename 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_DefaultUint< IMP >::decrementUintAcqRel | ( | typename 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_DefaultUint< IMP >::decrementUintNv | ( | typename 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_DefaultUint< IMP >::decrementUintNvAcqRel | ( | typename 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_DefaultUint< IMP >::incrementUint | ( | typename 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_DefaultUint< IMP >::incrementUintAcqRel | ( | typename 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_DefaultUint< IMP >::incrementUintNv | ( | typename 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_DefaultUint< IMP >::incrementUintNvAcqRel | ( | typename 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_DefaultUint< IMP >::subtractUintNv | ( | typename 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_DefaultUint< IMP >::subtractUintNvAcqRel | ( | typename 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_DefaultUint< IMP >::subtractUintNvRelaxed | ( | typename 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.