PMDK C++ bindings  1.13.0-git23.gf49772ac
This is the C++ bindings documentation for PMDK's libpmemobj.
Public Attributes | List of all members
pmem::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >::node Struct Reference

This is internal node. More...

#include <libpmemobj++/experimental/radix_tree.hpp>

Public Attributes

atomic_pointer_type parent
 Pointer to a parent node. More...
 
atomic_pointer_type embedded_entry
 The embedded_entry ptr is used only for nodes for which length of the path from root is a multiple of byte (n->bit == FIRST_NIB). More...
 
byten_t byte
 Byte and bit together are used to calculate the NIB which is used to index the child array. More...
 

Detailed Description

template<typename Key, typename Value, typename BytesView = bytes_view<Key>, bool MtMode = false>
struct pmem::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >::node

This is internal node.

It does not hold any values directly, but can contain pointer to an embedded entry (see below).

Member Data Documentation

◆ byte

template<typename Key , typename Value , typename BytesView = bytes_view<Key>, bool MtMode = false>
byten_t pmem::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >::node::byte

Byte and bit together are used to calculate the NIB which is used to index the child array.

The calculations are done in slice_index function.

Let's say we have a key = 0xABCD

For byte = 0, bit = 4 we have NIB = 0xA For byte = 0, bit = 0 we have NIB = 0xB

◆ embedded_entry

template<typename Key , typename Value , typename BytesView = bytes_view<Key>, bool MtMode = false>
atomic_pointer_type pmem::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >::node::embedded_entry

The embedded_entry ptr is used only for nodes for which length of the path from root is a multiple of byte (n->bit == FIRST_NIB).

This entry holds a key which represents the entire subtree prefix (path from root).

◆ parent

template<typename Key , typename Value , typename BytesView = bytes_view<Key>, bool MtMode = false>
atomic_pointer_type pmem::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >::node::parent

Pointer to a parent node.

Used by iterators.


The documentation for this struct was generated from the following file: