PMDK C++ bindings
1.12-git53.g67ba2be4
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Persistent self-relative smart pointer. More...
#include <libpmemobj++/detail/specialization.hpp>
#include <libpmemobj++/experimental/self_relative_ptr_base.hpp>
#include <libpmemobj++/persistent_ptr.hpp>
#include <type_traits>
Go to the source code of this file.
Classes | |
class | pmem::obj::experimental::self_relative_ptr< T > |
Persistent self-relative pointer class. More... | |
Namespaces | |
pmem | |
Persistent memory namespace. | |
pmem::obj | |
Main libpmemobj namespace. | |
pmem::obj::experimental | |
Experimental implementations. | |
Functions | |
template<class T > | |
void | pmem::obj::experimental::swap (self_relative_ptr< T > &a, self_relative_ptr< T > &b) |
Swaps two self_relative_ptr objects of the same type. More... | |
template<typename T , typename Y > | |
bool | pmem::obj::experimental::operator== (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) noexcept |
Equality operator. | |
template<typename T , typename Y > | |
bool | pmem::obj::experimental::operator!= (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) noexcept |
Inequality operator. | |
template<typename T > | |
bool | pmem::obj::experimental::operator== (self_relative_ptr< T > const &lhs, std::nullptr_t) noexcept |
Equality operator with nullptr. | |
template<typename T > | |
bool | pmem::obj::experimental::operator== (std::nullptr_t, self_relative_ptr< T > const &lhs) noexcept |
Equality operator with nullptr. | |
template<typename T > | |
bool | pmem::obj::experimental::operator!= (self_relative_ptr< T > const &lhs, std::nullptr_t) noexcept |
Inequality operator with nullptr. | |
template<typename T > | |
bool | pmem::obj::experimental::operator!= (std::nullptr_t, self_relative_ptr< T > const &lhs) noexcept |
Inequality operator with nullptr. | |
template<typename T , typename Y > | |
bool | pmem::obj::experimental::operator< (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) noexcept |
Less than operator. More... | |
template<typename T , typename Y > | |
bool | pmem::obj::experimental::operator<= (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) noexcept |
Less or equal than operator. More... | |
template<typename T , typename Y > | |
bool | pmem::obj::experimental::operator> (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) noexcept |
Greater than operator. More... | |
template<typename T , typename Y > | |
bool | pmem::obj::experimental::operator>= (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) noexcept |
Greater or equal than operator. More... | |
template<typename T > | |
bool | pmem::obj::experimental::operator< (self_relative_ptr< T > const &lhs, std::nullptr_t) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator< (std::nullptr_t, self_relative_ptr< T > const &rhs) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator<= (self_relative_ptr< T > const &lhs, std::nullptr_t) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator<= (std::nullptr_t, self_relative_ptr< T > const &rhs) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator> (self_relative_ptr< T > const &lhs, std::nullptr_t) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator> (std::nullptr_t, self_relative_ptr< T > const &rhs) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator>= (self_relative_ptr< T > const &lhs, std::nullptr_t) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
bool | pmem::obj::experimental::operator>= (std::nullptr_t, self_relative_ptr< T > const &rhs) noexcept |
Compare a self_relative_ptr with a null pointer. | |
template<typename T > | |
self_relative_ptr< T > | pmem::obj::experimental::operator+ (self_relative_ptr< T > const &lhs, std::ptrdiff_t s) |
Addition operator for self-relative pointers. | |
template<typename T > | |
self_relative_ptr< T > | pmem::obj::experimental::operator- (self_relative_ptr< T > const &lhs, std::ptrdiff_t s) |
Subtraction operator for self-relative pointers. | |
template<typename T , typename Y , typename = typename std::enable_if< std::is_same<typename std::remove_cv<T>::type, typename std::remove_cv<Y>::type>::value>> | |
ptrdiff_t | pmem::obj::experimental::operator- (self_relative_ptr< T > const &lhs, self_relative_ptr< Y > const &rhs) |
Subtraction operator for self-relative pointers of identical type. More... | |
template<typename T > | |
std::ostream & | pmem::obj::experimental::operator<< (std::ostream &os, self_relative_ptr< T > const &ptr) |
Ostream operator. | |
Persistent self-relative smart pointer.