Thrill  0.1
BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::LeafNode Struct Reference

Detailed Description

template<typename Key, typename Value, typename KeyOfValue, typename Compare = std::less<Key>, typename Traits = btree_default_traits<Key, Value>, bool Duplicates = false, typename Allocator = std::allocator<Value>>
struct tlx::BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::LeafNode

Extended structure of a leaf node in memory. Contains pairs of keys and data items. Key and data slots are kept together in value_type.

Definition at line 273 of file btree.hpp.

+ Inheritance diagram for BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::LeafNode:
+ Collaboration diagram for BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::LeafNode:

Public Types

typedef Allocator::template rebind< LeafNode >::other alloc_type
 Define an related allocator for the LeafNode structs. More...
 

Public Member Functions

void initialize ()
 Set variables to initial values. More...
 
bool is_few () const
 True if few used entries, less than half full. More...
 
bool is_full () const
 True if the node's slots are full. More...
 
bool is_underflow () const
 True if node has too few entries. More...
 
const key_typekey (size_t s) const
 Return key in slot s. More...
 
void set_slot (unsigned short slot, const value_type &value)
 
- Public Member Functions inherited from BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::node
void initialize (const unsigned short l)
 Delayed initialisation of constructed node. More...
 
bool is_leafnode () const
 True if this is a leaf node. More...
 

Public Attributes

LeafNodenext_leaf
 Double linked list pointers to traverse the leaves. More...
 
LeafNodeprev_leaf
 Double linked list pointers to traverse the leaves. More...
 
value_type slotdata [leaf_slotmax]
 Array of (key, data) pairs. More...
 
- Public Attributes inherited from BTree< Key, Value, KeyOfValue, Compare, Traits, Duplicates, Allocator >::node
unsigned short level
 Level in the b-tree, if level == 0 -> leaf node. More...
 
unsigned short slotuse
 

Member Typedef Documentation

◆ alloc_type

typedef Allocator::template rebind<LeafNode>::other alloc_type

Define an related allocator for the LeafNode structs.

Definition at line 275 of file btree.hpp.

Member Function Documentation

◆ initialize()

void initialize ( )
inline

Set variables to initial values.

Definition at line 287 of file btree.hpp.

◆ is_few()

bool is_few ( ) const
inline

True if few used entries, less than half full.

Definition at line 303 of file btree.hpp.

◆ is_full()

bool is_full ( ) const
inline

True if the node's slots are full.

Definition at line 298 of file btree.hpp.

◆ is_underflow()

bool is_underflow ( ) const
inline

True if node has too few entries.

Definition at line 308 of file btree.hpp.

◆ key()

◆ set_slot()

void set_slot ( unsigned short  slot,
const value_type value 
)
inline

Set the (key,data) pair in slot. Overloaded function used by bulk_load().

Definition at line 314 of file btree.hpp.

References TLX_BTREE_ASSERT, and gen_data::value.

Member Data Documentation

◆ next_leaf

◆ prev_leaf

◆ slotdata


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