STX B+ Tree Template Classes 0.8.6
Public Types | Public Member Functions | Public Attributes

stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node Struct Reference

Extended structure of a leaf node in memory. More...

List of all members.

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_nodeprevleaf
 Double linked list pointers to traverse the leaves.
leaf_nodenextleaf
 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.

Detailed Description

template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
struct stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node

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.

Definition at line 289 of file btree.h.


Member Typedef Documentation

template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
typedef _Alloc::template rebind<leaf_node>::other stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::alloc_type

Define an related allocator for the leaf_node structs.

Definition at line 292 of file btree.h.


Member Function Documentation

template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
void stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::initialize ( ) [inline]
template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::isfew ( ) const [inline]
template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::isfull ( ) const [inline]
template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
bool stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::isunderflow ( ) const [inline]

Member Data Documentation

template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
leaf_node* stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::nextleaf
template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
leaf_node* stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::prevleaf
template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
data_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::slotdata[leafslotmax]
template<typename _Key, typename _Data, typename _Value = std::pair<_Key, _Data>, typename _Compare = std::less<_Key>, typename _Traits = btree_default_map_traits<_Key, _Data>, bool _Duplicates = false, typename _Alloc = std::allocator<_Value>>
key_type stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node::slotkey[leafslotmax]

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines