9 #ifndef LIBPMEMOBJ_CPP_PEXT_HPP 10 #define LIBPMEMOBJ_CPP_PEXT_HPP 27 operator<<(std::ostream &os, const p<T> &pp)
29 return os << pp.get_ro();
92 template <
typename T,
typename Y>
103 template <
typename T,
typename Y>
114 template <
typename T,
typename Y>
125 template <
typename T,
typename Y>
136 template <
typename T,
typename Y>
147 template <
typename T,
typename Y>
158 template <
typename T,
typename Y>
169 template <
typename T,
typename Y>
180 template <
typename T,
typename Y>
191 template <
typename T,
typename Y>
202 template <
typename T,
typename Y>
213 template <
typename T,
typename Y>
224 template <
typename T,
typename Y>
235 template <
typename T,
typename Y>
246 template <
typename T,
typename Y>
257 template <
typename T,
typename Y>
268 template <
typename T,
typename Y>
270 operator<<=(p<T> &lhs,
const p<Y> &rhs)
272 lhs.
get_rw() = lhs.get_ro() << rhs.get_ro();
279 template <
typename T,
typename Y>
281 operator<<=(p<T> &lhs,
const Y &rhs)
283 lhs.
get_rw() = lhs.get_ro() << rhs;
290 template <
typename T,
typename Y>
301 template <
typename T,
typename Y>
318 template <
typename T>
319 struct numeric_limits<
pmem::obj::p<T>> :
public numeric_limits<T> {
321 static constexpr
bool is_specialized =
true;
327 template <
typename T>
T & get_rw()
Retrieves read-write reference of the object.
Definition: p.hpp:113
p< T > & operator &=(p< T > &lhs, const p< Y > &rhs)
Bitwise AND assignment operator overload.
Definition: pext.hpp:204
Definition: concurrent_hash_map.hpp:42
Resides on pmem property template.
p< T > & operator--(p< T > &pp)
Prefix decrement operator overload.
Definition: pext.hpp:59
p< T > & operator^=(p< T > &lhs, const p< Y > &rhs)
Bitwise XOR assignment operator overload.
Definition: pext.hpp:248
p< T > & operator|=(p< T > &lhs, const p< Y > &rhs)
Bitwise OR assignment operator overload.
Definition: pext.hpp:226
p< T > & operator-=(p< T > &lhs, const p< Y > &rhs)
Subtraction assignment operator overload.
Definition: pext.hpp:116
const T & get_ro() const noexcept
Retrieves read-only const reference of the object.
Definition: p.hpp:128
p< T > & operator%=(p< T > &lhs, const p< Y > &rhs)
Modulo assignment operator overload.
Definition: pext.hpp:182
p< T > & operator>>=(p< T > &lhs, const p< Y > &rhs)
Bitwise right shift assignment operator overload.
Definition: pext.hpp:292
std::istream & operator>>(std::istream &is, p< T > &pp)
Istream operator overload.
Definition: pext.hpp:37
p< T > & operator++(p< T > &pp)
Prefix increment operator overload.
Definition: pext.hpp:48
Resides on pmem class.
Definition: p.hpp:35
p< T > & operator+=(p< T > &lhs, const p< Y > &rhs)
Addition assignment operator overload.
Definition: pext.hpp:94
Persistent memory namespace.
Definition: allocation_flag.hpp:14
p< T > & operator/=(p< T > &lhs, const p< Y > &rhs)
Division assignment operator overload.
Definition: pext.hpp:160
p< T > & operator*=(p< T > &lhs, const p< Y > &rhs)
Multiplication assignment operator overload.
Definition: pext.hpp:138