|
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.