|
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 (ptrdiff_t val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T * | fetchAndAdd (ptrdiff_t val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile |
|
T * | fetchAndSub (ptrdiff_t val, RWAtomicMemoryOrder order=rw_mem_order_seq_cst) |
|
T * | fetchAndSub (ptrdiff_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++ (int) |
|
T * | operator++ (int) volatile |
|
T * | operator++ () |
|
T * | operator++ () volatile |
|
T * | operator+= (ptrdiff_t val) |
|
T * | operator+= (ptrdiff_t val) volatile |
|
T * | operator-- (int) |
|
T * | operator-- (int) volatile |
|
T * | operator-- () |
|
T * | operator-- () volatile |
|
T * | operator-= (ptrdiff_t val) |
|
T * | operator-= (ptrdiff_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 pointer type T. All operations performed on an RWTAtomic instance are atomic.
- Example
char* prev = a.
swap(
new char(
'a'));
- 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.