PMDK C++ bindings
1.9
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Go to the documentation of this file.
38 #ifndef LIBPMEMOBJ_CPP_PERSISTENT_PTR_BASE_HPP
39 #define LIBPMEMOBJ_CPP_PERSISTENT_PTR_BASE_HPP
42 #include <type_traits>
46 #include <libpmemobj/base.h>
49 #if defined(max) && defined(_WIN32)
110 : oid(std::move(r.oid))
120 detail::conditional_add_to_tx(
this);
121 this->oid = std::move(r.oid);
139 detail::conditional_add_to_tx(
this);
154 detail::conditional_add_to_tx(
this);
167 detail::conditional_add_to_tx(
this);
168 detail::conditional_add_to_tx(&other);
persistent_ptr_base & operator=(persistent_ptr_base const &r)
Assignment operator.
Definition: persistent_ptr_base.hpp:137
Persistent memory namespace.
Definition: allocation_flag.hpp:44
PMEMoid * raw_ptr() noexcept
Get pointer to PMEMoid encapsulated by this object.
Definition: persistent_ptr_base.hpp:193
Commonly used functionality.
const PMEMoid & raw() const noexcept
Get PMEMoid encapsulated by this object.
Definition: persistent_ptr_base.hpp:180
void swap(persistent_ptr_base &other)
Swaps two persistent_ptr objects of the same type.
Definition: persistent_ptr_base.hpp:165
void swap(pmem::obj::array< T, N > &lhs, pmem::obj::array< T, N > &rhs)
Non-member swap function.
Definition: array.hpp:913
Helper template for persistent ptr specialization.
persistent_ptr_base & operator=(persistent_ptr_base &&r)
Move assignment operator.
Definition: persistent_ptr_base.hpp:118
Persistent_ptr base (non-template) class.
Definition: persistent_ptr_base.hpp:71
persistent_ptr_base & operator=(std::nullptr_t &&)
Nullptr move assignment operator.
Definition: persistent_ptr_base.hpp:152
persistent_ptr_base() noexcept
Default constructor, zeroes the PMEMoid.
Definition: persistent_ptr_base.hpp:76