STX B+ Tree Template Classes 0.8.6
|
Contains the main B+ tree implementation template class btree. More...
#include <algorithm>
#include <functional>
#include <istream>
#include <ostream>
#include <memory>
#include <cstddef>
#include <assert.h>
#include <iostream>
Go to the source code of this file.
Classes | |
struct | stx::btree_default_set_traits< _Key > |
Generates default traits for a B+ tree used as a set. More... | |
struct | stx::btree_default_map_traits< _Key, _Data > |
Generates default traits for a B+ tree used as a map. More... | |
class | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc > |
Basic class implementing a base B+ tree data structure in memory. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::node |
The header structure of each node in-memory. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::inner_node |
Extended structure of a inner node in-memory. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::leaf_node |
Extended structure of a leaf node in memory. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::btree_pair_to_value< value_type, pair_type > |
For sets the second pair_type is an empty struct, so the value_type should only be the first. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::btree_pair_to_value< value_type, value_type > |
For maps value_type is the same as the pair_type. More... | |
class | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::iterator |
STL-like iterator object for B+ tree items. More... | |
class | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_iterator |
STL-like read-only iterator object for B+ tree items. More... | |
class | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::reverse_iterator |
STL-like mutable reverse iterator object for B+ tree items. More... | |
class | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::const_reverse_iterator |
STL-like read-only reverse iterator object for B+ tree items. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::tree_stats |
A small struct containing basic statistics about the B+ tree. More... | |
class | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::value_compare |
Function class to compare value_type objects. Required by the STL. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::result_t |
B+ tree recursive deletion has much information which is needs to be passed upward. More... | |
struct | stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc >::dump_header |
A header for the binary image containing the base properties of the B+ tree. More... | |
Namespaces | |
namespace | stx |
STX - Some Template Extensions namespace. | |
Defines | |
#define | BTREE_PRINT(x) do { if (debug) (std::cout << x); } while(0) |
Print out debug information to std::cout if BTREE_DEBUG is defined. | |
#define | BTREE_ASSERT(x) do { assert(x); } while(0) |
Assertion only if BTREE_DEBUG is defined. This is not used in verify(). | |
#define | BTREE_MAX(a, b) ((a) < (b) ? (b) : (a)) |
The maximum of a and b. Used in some compile-time formulas. | |
#define | BTREE_FRIENDS friend class btree_friend; |
The macro BTREE_FRIENDS can be used by outside class to access the B+ tree internals. |
Contains the main B+ tree implementation template class btree.
Definition in file btree.h.
#define BTREE_ASSERT | ( | x | ) | do { assert(x); } while(0) |
Assertion only if BTREE_DEBUG is defined. This is not used in verify().
Definition at line 48 of file btree.h.
Referenced by stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::clear(), 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_type, data_type, value_type, key_compare, traits, false, allocator_type >::erase_iter_descend(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::erase_one_descend(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::find_lower(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::find_upper(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::insert_descend(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::insert_start(), 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_type, data_type, value_type, key_compare, traits, false, allocator_type >::merge_inner(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::merge_leaves(), 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_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 >::restore_node(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_left_inner(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_left_leaf(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_right_inner(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_right_leaf(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_inner_node(), and stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_leaf_node().
#define BTREE_FRIENDS friend class btree_friend; |
#define BTREE_MAX | ( | a, | |
b | |||
) | ((a) < (b) ? (b) : (a)) |
#define BTREE_PRINT | ( | x | ) | do { if (debug) (std::cout << x); } while(0) |
Print out debug information to std::cout if BTREE_DEBUG is defined.
Definition at line 45 of file btree.h.
Referenced by stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::dump_node(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::erase(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::erase_iter_descend(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::erase_one(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::erase_one_descend(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::find_lower(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::find_upper(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::insert_descend(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::merge_inner(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::merge_leaves(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::restore(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_left_inner(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_left_leaf(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_right_inner(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::shift_right_leaf(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_inner_node(), stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::split_leaf_node(), and stx::btree< key_type, data_type, value_type, key_compare, traits, false, allocator_type >::verify_node().