STX B+ Tree Template Classes 0.8.6
|
Extended structure of a leaf node in memory. More...
Public Types | |
typedef _Alloc::template rebind< leaf_node >::other | alloc_type |
Define an related allocator for the leaf_node structs. | |
Public Member Functions | |
void | initialize () |
Set variables to initial values. | |
bool | isfull () const |
True if the node's slots are full. | |
bool | isfew () const |
True if few used entries, less than half full. | |
bool | isunderflow () const |
True if node has too few entries. | |
Public Attributes | |
leaf_node * | prevleaf |
Double linked list pointers to traverse the leaves. | |
leaf_node * | nextleaf |
Double linked list pointers to traverse the leaves. | |
key_type | slotkey [leafslotmax] |
Keys of children or data pointers. | |
data_type | slotdata [leafslotmax] |
Array of data. |
Extended structure of a leaf node in memory.
Contains pairs of keys and data items. Key and data slots are kept in separate arrays, because the key array is traversed very often compared to accessing the data items.
typedef _Alloc::template rebind<leaf_node>::other stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::alloc_type |
void stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::initialize | ( | ) | [inline] |
Set variables to initial values.
Definition at line 307 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::nextleaf, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::prevleaf.
Referenced by stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::allocate_leaf().
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::isfew | ( | ) | const [inline] |
True if few used entries, less than half full.
Definition at line 320 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::minleafslots, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::node::slotuse.
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::isfull | ( | ) | const [inline] |
True if the node's slots are full.
Definition at line 314 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leafslotmax, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::node::slotuse.
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::isunderflow | ( | ) | const [inline] |
True if node has too few entries.
Definition at line 326 of file btree.h.
References stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::minleafslots, and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::node::slotuse.
leaf_node* stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::nextleaf |
Double linked list pointers to traverse the leaves.
Definition at line 298 of file btree.h.
Referenced by stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::copy_recursive(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::initialize(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::operator++(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::operator++(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::operator--(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::operator--(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::print_leaves(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::restore_node(), and stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_leaf_node().
leaf_node* stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::prevleaf |
Double linked list pointers to traverse the leaves.
Definition at line 295 of file btree.h.
Referenced by stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::copy_recursive(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::initialize(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::operator++(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::operator++(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::operator--(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::operator--(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::restore_node(), and stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_leaf_node().
data_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::slotdata[leafslotmax] |
Array of data.
Definition at line 304 of file btree.h.
Referenced by stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::data(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::data(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::data(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::data(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::operator->(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::operator->(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::operator->(), and stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::operator->().
key_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::slotkey[leafslotmax] |
Keys of children or data pointers.
Definition at line 301 of file btree.h.
Referenced by stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::key(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::key(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::key(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::key(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::operator*(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator::operator->(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator::operator->(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator::operator->(), stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator::operator->(), and stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_leaf_node().