9 #ifndef LIBPMEMOBJ_CPP_P_HPP
10 #define LIBPMEMOBJ_CPP_P_HPP
46 p(
const T &_val) noexcept : val{_val}
84 typename =
typename std::enable_if<
85 std::is_convertible<Y, T>::value>::type>
97 operator T() const noexcept
115 detail::conditional_add_to_tx(
this);
142 detail::conditional_add_to_tx(
this);
143 detail::conditional_add_to_tx(&other);
Resides on pmem class.
Definition: p.hpp:35
p & operator=(const p< Y > &rhs)
Converting assignment operator from a different p<>.
Definition: p.hpp:87
p(const T &_val) noexcept
Value constructor.
Definition: p.hpp:46
T & get_rw()
Retrieves read-write reference of the object.
Definition: p.hpp:113
void swap(p &other)
Swaps two p objects of the same type.
Definition: p.hpp:140
p()=default
Defaulted constructor.
p & operator=(const p &rhs)
Assignment operator.
Definition: p.hpp:66
const T & get_ro() const noexcept
Retrieves read-only const reference of the object.
Definition: p.hpp:128
Commonly used functionality.
void swap(p< T > &a, p< T > &b)
Swaps two p objects of the same type.
Definition: p.hpp:159
void swap(pmem::obj::array< T, N > &lhs, pmem::obj::array< T, N > &rhs)
Non-member swap function.
Definition: array.hpp:909
Persistent memory namespace.
Definition: allocation_flag.hpp:15
Helper template for persistent ptr specialization.