PMDK C++ bindings
1.13.0-git107.g7e59f08f
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Experimental implementations. More...
Classes | |
struct | atomic_persistent_aware_ptr |
Atomic specialization of a persistent ptr (self_relative_ptr) that manages its persistence by itself. More... | |
class | concurrent_map |
Persistent memory aware implementation of Intel TBB concurrent_map with API partially compatible to std::map. More... | |
class | basic_dram_inline_string |
Pmem/DRAM variation of pmem::obj::string, where data is kept right next to the inline_string structure. More... | |
class | basic_inline_string |
Pmem-only variation of pmem::obj::string, where data is kept right next to the inline_string structure. More... | |
struct | total_sizeof |
A helper trait which calculates required memory capacity (in bytes) for a type. More... | |
struct | total_sizeof< basic_inline_string< CharT, Traits > > |
A helper trait which calculates required memory capacity (in bytes) for a type. More... | |
struct | total_sizeof< basic_dram_inline_string< CharT, Traits > > |
A helper trait which calculates required memory capacity (in bytes) for a type. More... | |
class | mpsc_queue |
Persistent memory aware implementation of multi producer single consumer queue. More... | |
class | radix_tree |
Persistent associative, ordered container with API similar and partially compatible with the API of std::map. More... | |
class | self_relative_ptr |
Persistent self-relative pointer class. More... | |
class | v |
Volatile residing on pmem class. More... | |
Typedefs | |
using | dram_inline_string = basic_dram_inline_string< char > |
The most typical dram_inline_string usage - the char specialization. More... | |
using | dram_inline_wstring = basic_dram_inline_string< wchar_t > |
The wide char specialization. | |
using | dram_inline_u16string = basic_dram_inline_string< char16_t > |
The char16 specialization. | |
using | dram_inline_u32string = basic_dram_inline_string< char32_t > |
The char32 specialization. | |
using | inline_string = basic_inline_string< char > |
The most typical inline_string usage - the char specialization. More... | |
using | inline_wstring = basic_inline_string< wchar_t > |
The wide char specialization. | |
using | inline_u16string = basic_inline_string< char16_t > |
The char16 specialization. | |
using | inline_u32string = basic_inline_string< char32_t > |
The char32 specialization. | |
using | self_relative_ptr_base = pmem::detail::self_relative_ptr_base_impl< std::ptrdiff_t > |
self_relative_ptr base (non-template) class More... | |
Functions | |
template<typename Key , typename Value , typename BytesView , bool MtMode> | |
void | swap (radix_tree< Key, Value, BytesView, MtMode > &lhs, radix_tree< Key, Value, BytesView, MtMode > &rhs) |
template<typename K , typename V , typename BV , bool MtMode> | |
std::ostream & | operator<< (std::ostream &os, const radix_tree< K, V, BV, MtMode > &tree) |
Prints tree in DOT format. More... | |
Experimental implementations.
It contains implementations, which are not yet ready to be used in production. They may be not finished, not fully tested or still in discussion. It is located within pmem::obj namespace.
using pmem::obj::experimental::self_relative_ptr_base = typedef pmem::detail::self_relative_ptr_base_impl<std::ptrdiff_t> |
self_relative_ptr base (non-template) class
Implements some of the functionality of the self_relative_ptr class. It defines all applicable conversions from and to a self_relative_ptr_base.
It can be used e.g. as a parameter, where self_relative_ptr of any template type is required. It is similar to self_relative_ptr<void> (it can point to whatever type), but it can be used when you want to have pointer to some unspecified self_relative_ptr (with self_relative_ptr<void> it can't be done, because: self_relative_ptr<T>* does not convert to self_relative_ptr<void>*).
std::ostream& pmem::obj::experimental::operator<< | ( | std::ostream & | os, |
const radix_tree< K, V, BV, MtMode > & | tree | ||
) |
Prints tree in DOT format.
Used for debugging.