PMDK C++ bindings  1.13.0-git107.g7e59f08f
This is the C++ bindings documentation for PMDK's libpmemobj.
std::atomic< pmem::obj::experimental::self_relative_ptr< T > > Struct Template Reference

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
 

Detailed Description

template<typename T>
struct std::atomic< pmem::obj::experimental::self_relative_ptr< T > >

Atomic specialization for self_relative_ptr.

Doesn't automatically add itself to the transaction. The user is responsible for persisting the data.


The documentation for this struct was generated from the following file: