75 p(
const T &_val) noexcept : val{_val}
112 template <
typename Y,
typename =
typename std::enable_if<
113 std::is_convertible<Y, T>::value>::type>
125 operator T() const noexcept
143 detail::conditional_add_to_tx(
this);
170 detail::conditional_add_to_tx(
this);
171 detail::conditional_add_to_tx(&other);
172 std::swap(this->val, other.val);
187 swap(p<T> &a, p<T> &b)
p & operator=(const p< Y > &rhs)
Converting assignment operator from a different p<>.
Definition: p.hpp:115
Helper template for persistent ptr specialization.
p(const T &_val) noexcept
Value constructor.
Definition: p.hpp:75
void swap(p &other)
Swaps two p objects of the same type.
Definition: p.hpp:168
Commonly used functionality.
const T & get_ro() const noexcept
Retrieves read-only const reference of the object.
Definition: p.hpp:156
Resides on pmem class.
Definition: p.hpp:64
T & get_rw()
Retrieves read-write reference of the object.
Definition: p.hpp:141
p()=default
Defaulted constructor.
p & operator=(const p &rhs)
Assignment operator.
Definition: p.hpp:95