|
bool | compareAndSwap (T &expected, T desired, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
bool | compareAndSwap (T &expected, T desired, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | fetchAndAdd (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T | fetchAndAdd (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | fetchAndAnd (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T | fetchAndAnd (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | fetchAndOr (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T | fetchAndOr (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | fetchAndSub (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T | fetchAndSub (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | fetchAndXor (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T | fetchAndXor (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | load (RWAtomicMemoryOrder order=rw_mem_order_seq_cst) const |
|
T | load (RWAtomicMemoryOrder order=rw_mem_order_seq_cst) const volatile |
|
| operator T () const |
|
| operator T () const volatile |
|
T | operator&= (T val) |
|
T | operator&= (T val) volatile |
|
T | operator++ () |
|
T | operator++ () volatile |
|
T | operator++ (int) |
|
T | operator++ (int) volatile |
|
T | operator+= (T val) |
|
T | operator+= (T val) volatile |
|
T | operator-- () |
|
T | operator-- () volatile |
|
T | operator-- (int) |
|
T | operator-- (int) volatile |
|
T | operator-= (T val) |
|
T | operator-= (T val) volatile |
|
T | operator= (T val) |
|
T | operator= (T val) volatile |
|
T | operator^= (T val) |
|
T | operator^= (T val) volatile |
|
T | operator|= (T val) |
|
T | operator|= (T val) volatile |
|
void | store (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
void | store (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T | swap (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T | swap (T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
template<typename T>
class RWTAtomic< T >
RWTAtomic provides atomic manipulation of an underlying integral type T
. All operations performed on an RWTAtomic instance are atomic.
RWTAtomic is limited to the following integral types and their associated typedefs:
- char
- signed char
- unsigned char
- short
- unsigned short
- int
- unsigned int
- long
- unsigned long
- long long
- unsigned long long
- wchar_t
- Example
Atomically manipulates an integral type.
Definition atomic.h:127
#define RW_ATOMIC_INIT(val)
Definition atomic.h:77
T swap(T val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst)
Definition atomic.h:337
- Note
- While copy construction and assignment are not prohibited, these operations are not performed in an atomic manner, and may result in undefined behavior. These operations may be prohibited in a future release and should be avoided.
-
64-bit integral types are not supported in 32-bit builds on AIX.