|
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.