|
cds
1.4.0
|
Atomic marked pointer. More...
#include <cds/gc/hrc.h>
Public Types | |
| typedef MarkedPtr | marked_ptr |
| Marked pointer type. | |
Public Member Functions | |
| marked_ptr | load (std::memory_order order) const noexcept() |
| Read reference value. | |
| void | store (marked_ptr pNew, std::memory_order order) noexcept() |
| Store new value to reference. | |
| void | store (typename marked_ptr::pointer_type pNew, std::memory_order order) noexcept() |
| Store new value to reference. | |
| bool | compare_exchange_weak (marked_ptr &pOld, marked_ptr pNew, std::memory_order mo_success, std::memory_order mo_fail) noexcept() |
Updates atomic reference from current value pOld to new value pNew (weak CAS) More... | |
| bool | compare_exchange_strong (marked_ptr &pOld, marked_ptr pNew, std::memory_order mo_success, std::memory_order mo_fail) noexcept() |
Updates atomic reference from current value pOld to new value pNew (strong CAS) More... | |
Atomic marked pointer.
|
inlinenoexcept |
Updates atomic reference from current value pOld to new value pNew (strong CAS)
May be used when concurrent updates are possible
T - class derived from container_node type
|
inlinenoexcept |
Updates atomic reference from current value pOld to new value pNew (weak CAS)
May be used when concurrent updates are possible
T - class derived from container_node type