Default implementations of non-essential 64-bit integer atomic operations.
Declared in <bsls_atomicoperations_default.h>
template<class IMP>
struct AtomicOperations_DefaultInt64;
This class provides default implementations of non-essential atomic operations for the 64-bit integer type independent on any specific platform. It also provides prototypes for the atomic operations for the 64-bit integer type that have to be implemented separately for each specific platform. These platform-independent and platform-specific atomic operations together form a full set of atomic operations for the 64-bit integer type.
| Name | Description |
|---|---|
AtomicTypes | Atomic type traits for the platform-specific implementation. |
| Name | Description |
|---|---|
addInt64 | Atomically add to the specified atomicInt the specified value, providing the sequential consistency memory ordering guarantee. |
addInt64AcqRel | Atomically add to the specified atomicInt the specified value, providing the acquire/release memory ordering guarantee. |
addInt64NvAcqRel | Atomically add to the specified atomicInt the specified value and return the resulting value, providing the acquire/release memory ordering guarantee. |
addInt64NvRelaxed | Atomically add to the specified atomicInt the specified value and return the resulting value, without providing any memory ordering guarantees. |
addInt64Relaxed | Atomically add to the specified atomicInt the specified value, without providing any memory ordering guarantees. |
decrementInt64 | Atomically decrement the specified atomicInt by 1, providing the sequential consistency memory ordering guarantee. |
decrementInt64AcqRel | Atomically decrement the specified atomicInt by 1, providing the acquire/release memory ordering guarantee. |
decrementInt64Nv | Atomically decrement the specified atomicInt by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee. |
decrementInt64NvAcqRel | Atomically decrement the specified atomicInt by 1 and return the resulting value, providing the acquire/release memory ordering guarantee. |
getInt64Acquire | Atomically retrieve the value of the specified atomicInt, providing the acquire memory ordering guarantee. |
getInt64Relaxed | Atomically retrieve the value of the specified atomicInt, without providing any memory ordering guarantees. |
incrementInt64 | Atomically increment the value of the specified atomicInt by 1, providing the sequential consistency memory ordering guarantee. |
incrementInt64AcqRel | Atomically increment the value of the specified atomicInt by 1, providing the acquire/release memory ordering guarantee. |
incrementInt64Nv | Atomically increment the specified atomicInt by 1 and return the resulting value, providing the sequential consistency memory ordering guarantee. |
incrementInt64NvAcqRel | Atomically increment the specified atomicInt by 1 and return the resulting value, providing the acquire/release memory ordering guarantee. |
initInt64 | Initialize the specified atomicInt and set its value to the optionally specified initialValue. |
setInt64Relaxed | Atomically set the value of the specified atomicInt to the specified value, without providing any memory ordering guarantees. |
setInt64Release | Atomically set the value of the specified atomicInt to the specified value, providing the release memory ordering guarantee. |
subtractInt64Nv | Atomically subtract value from atomicInt and return the result. |
subtractInt64NvAcqRel | Atomically subtract from the specified atomicInt the specified value and return the resulting value, providing the acquire/release memory ordering guarantee. |
subtractInt64NvRelaxed | Atomically subtract from the specified atomicInt the specified value and return the resulting value, without providing any memory ordering guarantees. |
swapInt64AcqRel | Atomically swap atomicInt with acquire/release ordering. |
testAndSwapInt64AcqRel | Conditionally swap atomicInt with acquire/release ordering. |
| Name | Description |
|---|---|
AtomicOperations_Default32 | Default atomic operations for a generic 32-bit platform. |
AtomicOperations_Default64 | Default atomic operations for a generic 64-bit platform. |