|
PMDK C++ bindings
1.12-git53.g67ba2be4
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Implementation of persistent radix tree. More...
#include <libpmemobj++/allocator.hpp>#include <libpmemobj++/container/string.hpp>#include <libpmemobj++/detail/pair.hpp>#include <libpmemobj++/detail/template_helpers.hpp>#include <libpmemobj++/experimental/inline_string.hpp>#include <libpmemobj++/experimental/self_relative_ptr.hpp>#include <libpmemobj++/make_persistent.hpp>#include <libpmemobj++/p.hpp>#include <libpmemobj++/persistent_ptr.hpp>#include <libpmemobj++/pext.hpp>#include <libpmemobj++/pool.hpp>#include <libpmemobj++/string_view.hpp>#include <libpmemobj++/transaction.hpp>#include <libpmemobj++/utils.hpp>#include <algorithm>#include <iostream>#include <string>#include <libpmemobj++/detail/common.hpp>#include <libpmemobj++/detail/integer_sequence.hpp>Go to the source code of this file.
Classes | |
| class | pmem::obj::experimental::radix_tree< Key, Value, BytesView > |
| Radix tree is an associative, ordered container. More... | |
| struct | pmem::obj::experimental::radix_tree< Key, Value, BytesView >::leaf |
| This is the structure which 'holds' key/value pair. More... | |
| struct | pmem::obj::experimental::radix_tree< Key, Value, BytesView >::node |
| This is internal node. More... | |
| struct | pmem::obj::experimental::radix_tree< Key, Value, BytesView >::radix_tree_iterator< IsConst > |
| Radix tree iterator supports multipass and bidirectional iteration. More... | |
Namespaces | |
| pmem | |
| Persistent memory namespace. | |
| pmem::detail | |
| Implementation details. | |
| pmem::obj | |
| Main libpmemobj namespace. | |
| pmem::obj::experimental | |
| Experimental implementations. | |
Functions | |
| template<typename Key , typename Value , typename BytesView > | |
| void | pmem::obj::experimental::swap (radix_tree< Key, Value, BytesView > &lhs, radix_tree< Key, Value, BytesView > &rhs) |
| Non-member swap. | |
| template<typename K , typename V , typename BV > | |
| std::ostream & | pmem::obj::experimental::operator<< (std::ostream &os, const radix_tree< K, V, BV > &tree) |
| Prints tree in DOT format. More... | |
Implementation of persistent radix tree.
Based on: https://github.com/pmem/vmemcache/blob/master/src/critnib.h
The implementation is a variation of a PATRICIA trie - the internal nodes do not store the path explicitly, but only a position at which the keys differ. Keys are stored entirely in leaves.
More info about radix tree: https://en.wikipedia.org/wiki/Radix_tree