Quick Links: |
#include <bsls_atomicoperations_default.h>
Public Types | |
typedef Atomic_TypeTraits< IMP > | AtomicTypes |
Static Public Member Functions | |
static Types::Uint64 | getUint64 (typename AtomicTypes::Uint64 const *atomicUint) |
static Types::Uint64 | getUint64Acquire (typename AtomicTypes::Uint64 const *atomicUint) |
static Types::Uint64 | getUint64Relaxed (typename AtomicTypes::Uint64 const *atomicUint) |
static void | initUint64 (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 initialValue=0) |
static void | setUint64 (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static void | setUint64Relaxed (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static void | setUint64Release (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static Types::Uint64 | swapUint64 (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 swapValue) |
static Types::Uint64 | swapUint64AcqRel (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 swapValue) |
static Types::Uint64 | testAndSwapUint64 (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 compareValue, Types::Uint64 swapValue) |
static Types::Uint64 | testAndSwapUint64AcqRel (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 compareValue, Types::Uint64 swapValue) |
static void | addUint64 (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static void | addUint64AcqRel (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static void | addUint64Relaxed (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static Types::Uint64 | addUint64Nv (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static Types::Uint64 | addUint64NvAcqRel (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static Types::Uint64 | addUint64NvRelaxed (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static void | decrementUint64 (typename AtomicTypes::Uint64 *atomicUint) |
static void | decrementUint64AcqRel (typename AtomicTypes::Uint64 *atomicUint) |
static Types::Uint64 | decrementUint64Nv (typename AtomicTypes::Uint64 *atomicUint) |
static Types::Uint64 | decrementUint64NvAcqRel (typename AtomicTypes::Uint64 *atomicUint) |
static void | incrementUint64 (typename AtomicTypes::Uint64 *atomicUint) |
static void | incrementUint64AcqRel (typename AtomicTypes::Uint64 *atomicUint) |
static Types::Uint64 | incrementUint64Nv (typename AtomicTypes::Uint64 *atomicUint) |
static Types::Uint64 | incrementUint64NvAcqRel (typename AtomicTypes::Uint64 *atomicUint) |
static Types::Uint64 | subtractUint64Nv (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static Types::Uint64 | subtractUint64NvAcqRel (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
static Types::Uint64 | subtractUint64NvRelaxed (typename AtomicTypes::Uint64 *atomicUint, Types::Uint64 value) |
typedef Atomic_TypeTraits<IMP> bsls::AtomicOperations_DefaultUint64< IMP >::AtomicTypes |
static Types::Uint64 bsls::AtomicOperations_DefaultUint64< IMP >::getUint64 | ( | typename 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_DefaultUint64< IMP >::getUint64Acquire | ( | typename AtomicTypes::Uint64 const * | atomicUint | ) | [static] |
Atomically retrieve the value of the specified atomicUint
, providing the acquire memory ordering guarantee.
static Types::Uint64 bsls::AtomicOperations_DefaultUint64< IMP >::getUint64Relaxed | ( | typename AtomicTypes::Uint64 const * | atomicUint | ) | [static] |
Atomically retrieve the value of the specified atomicUint
, without providing any memory ordering guarantees.
static void bsls::AtomicOperations_DefaultUint64< IMP >::initUint64 | ( | typename 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_DefaultUint64< IMP >::setUint64 | ( | typename 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_DefaultUint64< IMP >::setUint64Relaxed | ( | typename 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_DefaultUint64< IMP >::setUint64Release | ( | typename 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_DefaultUint64< IMP >::swapUint64 | ( | typename 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_DefaultUint64< IMP >::swapUint64AcqRel | ( | typename 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_DefaultUint64< IMP >::testAndSwapUint64 | ( | typename 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_DefaultUint64< IMP >::testAndSwapUint64AcqRel | ( | typename 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_DefaultUint64< IMP >::addUint64 | ( | typename 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_DefaultUint64< IMP >::addUint64AcqRel | ( | typename 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_DefaultUint64< IMP >::addUint64Relaxed | ( | typename 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_DefaultUint64< IMP >::addUint64Nv | ( | typename 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_DefaultUint64< IMP >::addUint64NvAcqRel | ( | typename 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_DefaultUint64< IMP >::addUint64NvRelaxed | ( | typename 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_DefaultUint64< IMP >::decrementUint64 | ( | typename AtomicTypes::Uint64 * | atomicUint | ) | [static] |
Atomically decrement the specified atomicUint
by 1, providing the sequential consistency memory ordering guarantee.
static void bsls::AtomicOperations_DefaultUint64< IMP >::decrementUint64AcqRel | ( | typename AtomicTypes::Uint64 * | atomicUint | ) | [static] |
Atomically decrement the specified atomicUint
by 1, providing the acquire/release memory ordering guarantee.
static Types::Uint64 bsls::AtomicOperations_DefaultUint64< IMP >::decrementUint64Nv | ( | typename 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_DefaultUint64< IMP >::decrementUint64NvAcqRel | ( | typename 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_DefaultUint64< IMP >::incrementUint64 | ( | typename 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_DefaultUint64< IMP >::incrementUint64AcqRel | ( | typename 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_DefaultUint64< IMP >::incrementUint64Nv | ( | typename 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_DefaultUint64< IMP >::incrementUint64NvAcqRel | ( | typename 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_DefaultUint64< IMP >::subtractUint64Nv | ( | typename 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_DefaultUint64< IMP >::subtractUint64NvAcqRel | ( | typename 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_DefaultUint64< IMP >::subtractUint64NvRelaxed | ( | typename 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.