PMDK C++ bindings
1.13.0-git107.g7e59f08f
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Atomic specialization for self_relative_ptr. More...
#include <libpmemobj++/experimental/atomic_self_relative_ptr.hpp>
Public Types | |
using | this_type = atomic |
using | value_type = pmem::obj::experimental::self_relative_ptr< T > |
using | difference_type = typename value_type::difference_type |
Public Member Functions | |
atomic (value_type value) | |
atomic (const atomic &)=delete | |
void | store (value_type desired, std::memory_order order=std::memory_order_seq_cst) noexcept |
value_type | load (std::memory_order order=std::memory_order_seq_cst) const noexcept |
value_type | exchange (value_type desired, std::memory_order order=std::memory_order_seq_cst) noexcept |
bool | compare_exchange_weak (value_type &expected, value_type desired, std::memory_order success, std::memory_order failure) noexcept |
bool | compare_exchange_weak (value_type &expected, value_type desired, std::memory_order order=std::memory_order_seq_cst) noexcept |
bool | compare_exchange_strong (value_type &expected, value_type desired, std::memory_order success, std::memory_order failure) noexcept |
bool | compare_exchange_strong (value_type &expected, value_type desired, std::memory_order order=std::memory_order_seq_cst) noexcept |
value_type | fetch_add (difference_type val, std::memory_order order=std::memory_order_seq_cst) noexcept |
value_type | fetch_sub (difference_type val, std::memory_order order=std::memory_order_seq_cst) noexcept |
bool | is_lock_free () const noexcept |
operator value_type () const noexcept | |
atomic & | operator= (const atomic &)=delete |
atomic & | operator= (const atomic &) volatile=delete |
value_type | operator= (value_type desired) noexcept |
value_type | operator++ () noexcept |
value_type | operator++ (int) noexcept |
value_type | operator-- () noexcept |
value_type | operator-- (int) noexcept |
value_type | operator+= (difference_type diff) noexcept |
value_type | operator-= (difference_type diff) noexcept |
Atomic specialization for self_relative_ptr.
Doesn't automatically add itself to the transaction. The user is responsible for persisting the data.