75 p(
const T &_val) noexcept : val{_val}
97 detail::conditional_add_to_tx(
this);
99 this_type(rhs).swap(*
this);
114 template <
typename Y,
typename =
typename std::enable_if<
115 std::is_convertible<Y, T>::value>::type>
119 detail::conditional_add_to_tx(
this);
121 this_type(rhs).swap(*
this);
129 operator T() const noexcept
147 detail::conditional_add_to_tx(
this);
171 std::swap(this->val, other.val);
p & operator=(const p< Y > &rhs)
Converting assignment operator from a different p<>.
Definition: p.hpp:117
Helper template for persistent ptr specialization.
p(const T &_val) noexcept
Value constructor.
Definition: p.hpp:75
Commonly used functionality.
const T & get_ro() const noexcept
Retrieves read-only const reference of the object.
Definition: p.hpp:160
Resides on pmem class.
Definition: p.hpp:64
Definition: condition_variable.hpp:48
T & get_rw()
Retrieves read-write reference of the object.
Definition: p.hpp:145
p()=default
Defaulted constructor.
void swap(p &other) noexcept
Swaps two p objects of the same type.
Definition: p.hpp:169
p & operator=(const p &rhs)
Assignment operator.
Definition: p.hpp:95