Wrapper around a trivially copyable type to make load/store operations atomic and sequentially consistent.
More...
|
| | Atomic ()=default |
| | Trivial constructor, does not initialize the underlying value. More...
|
| |
| | Atomic (T val) |
| | Initialize the underlying value to val More...
|
| |
| | Atomic (const Atomic &val) |
| |
| T | operator= (T val) volatile |
| | Assign value. More...
|
| |
| T | operator= (const Atomic &val) volatile |
| |
| | operator T () const volatile |
| | Read value. More...
|
| |
| void | store (T val, Order o=Order::seqCst) volatile |
| |
| T | load (Order o=Order::seqCst) const volatile |
| |
| bool | cas (T newVal, T cmp, Order o=Order::seqCst) volatile |
| | Compare and swap. If atomic is equal to comparand cmp then atomic is assigned to newVal and true is returned. Returns false otherwise. More...
|
| |
template<class T>
class honey::Atomic< T, false >
Wrapper around a trivially copyable type to make load/store operations atomic and sequentially consistent.