|
static void * | getPtr (typename AtomicTypes::Pointer const *atomicPtr) |
|
static void * | getPtrAcquire (typename AtomicTypes::Pointer const *atomicPtr) |
|
static void * | getPtrRelaxed (typename AtomicTypes::Pointer const *atomicPtr) |
|
static void | initPointer (typename AtomicTypes::Pointer *atomicPtr, void *initialValue=0) |
|
static void | setPtr (typename AtomicTypes::Pointer *atomicPtr, void *value) |
|
static void | setPtrRelaxed (typename AtomicTypes::Pointer *atomicPtr, void *value) |
|
static void | setPtrRelease (typename AtomicTypes::Pointer *atomicPtr, void *value) |
|
static void * | swapPtr (typename AtomicTypes::Pointer *atomicPtr, void *swapValue) |
|
static void * | swapPtrAcqRel (typename AtomicTypes::Pointer *atomicPtr, void *swapValue) |
|
static void * | testAndSwapPtr (typename AtomicTypes::Pointer *atomicPtr, void *compareValue, void *swapValue) |
|
static void * | testAndSwapPtrAcqRel (typename AtomicTypes::Pointer *atomicPtr, void *compareValue, void *swapValue) |
|
template<class IMP>
struct bsls::AtomicOperations_DefaultPointer64< IMP >
This class provides default implementations of non-essential atomic operations for the 64-bit pointer type independent on any specific platform. It also provides prototypes for the atomic operations for the pointer type that have to be implemented separately for each specific platform. These platform-independent and platform-specific atomic operations combined together form a full set of atomic operations for the pointer type.
Note that AtomicOperations_DefaultPointer64
is implemented in terms of the following atomic operations on the Int64 type that must be provided by the IMP
template parameter.
typename AtomicTypes::Int64 const *atomicInt);
typename AtomicTypes::Int64 const *atomicInt);
typename AtomicTypes::Int64 const *atomicInt);
static void setInt64(typename AtomicTypes::Int64 *atomicInt,
static void setInt64Relaxed(typename AtomicTypes::Int64 *atomicInt,
static void setInt64Release(typename AtomicTypes::Int64 *atomicInt,
static Types::Int64 swapInt64(
typename AtomicTypes::Int64 *atomicInt,
typename AtomicTypes::Int64 *atomicInt,
typename AtomicTypes::Int64 *atomicInt,
typename AtomicTypes::Int64 *atomicInt,
long long Int64
Definition bsls_types.h:132