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