PMDK C++ bindings
1.10
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Go to the documentation of this file.
9 #ifndef LIBPMEMOBJ_CPP_PERSISTENT_PTR_BASE_HPP
10 #define LIBPMEMOBJ_CPP_PERSISTENT_PTR_BASE_HPP
13 #include <type_traits>
17 #include <libpmemobj/base.h>
20 #if defined(max) && defined(_WIN32)
81 : oid(std::move(r.oid))
91 detail::conditional_add_to_tx(
this);
92 this->oid = std::move(r.oid);
110 detail::conditional_add_to_tx(
this);
125 detail::conditional_add_to_tx(
this);
138 detail::conditional_add_to_tx(
this);
139 detail::conditional_add_to_tx(&other);
persistent_ptr_base & operator=(persistent_ptr_base const &r)
Assignment operator.
Definition: persistent_ptr_base.hpp:108
Persistent memory namespace.
Definition: allocation_flag.hpp:15
PMEMoid * raw_ptr() noexcept
Get pointer to PMEMoid encapsulated by this object.
Definition: persistent_ptr_base.hpp:164
Commonly used functionality.
const PMEMoid & raw() const noexcept
Get PMEMoid encapsulated by this object.
Definition: persistent_ptr_base.hpp:151
void swap(persistent_ptr_base &other)
Swaps two persistent_ptr objects of the same type.
Definition: persistent_ptr_base.hpp:136
void swap(pmem::obj::array< T, N > &lhs, pmem::obj::array< T, N > &rhs)
Non-member swap function.
Definition: array.hpp:884
Helper template for persistent ptr specialization.
persistent_ptr_base & operator=(persistent_ptr_base &&r)
Move assignment operator.
Definition: persistent_ptr_base.hpp:89
Persistent_ptr base (non-template) class.
Definition: persistent_ptr_base.hpp:42
persistent_ptr_base & operator=(std::nullptr_t &&)
Nullptr move assignment operator.
Definition: persistent_ptr_base.hpp:123
persistent_ptr_base() noexcept
Default constructor, zeroes the PMEMoid.
Definition: persistent_ptr_base.hpp:47