38 #ifndef LIBPMEMOBJ_CPP_P_HPP 39 #define LIBPMEMOBJ_CPP_P_HPP 75 p(
const T &_val) noexcept : val{_val}
112 template <
typename Y,
113 typename =
typename std::enable_if<
114 std::is_convertible<Y, T>::value>::type>
126 operator T() const noexcept
144 detail::conditional_add_to_tx(
this);
171 detail::conditional_add_to_tx(
this);
172 detail::conditional_add_to_tx(&other);
173 std::swap(this->val, other.val);
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.
T & get_rw()
Retrieves read-write reference of the object.
Definition: p.hpp:142
Commonly used functionality.
p(const T &_val) noexcept
Value constructor.
Definition: p.hpp:75
p & operator=(const p &rhs)
Assignment operator.
Definition: p.hpp:95
const T & get_ro() const noexcept
Retrieves read-only const reference of the object.
Definition: p.hpp:157
void swap(p &other)
Swaps two p objects of the same type.
Definition: p.hpp:169
Resides on pmem class.
Definition: p.hpp:64
A persistent version of concurrent hash map implementation Ref: https://arxiv.org/abs/1509....
Definition: allocation_flag.hpp:43
p()=default
Defaulted constructor.
p & operator=(const p< Y > &rhs)
Converting assignment operator from a different p<>.
Definition: p.hpp:116