Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
tpl_b_tree.H File Reference

B-Tree implementation with configurable minimum degree. More...

#include <algorithm>
#include <concepts>
#include <initializer_list>
#include <iterator>
#include <memory>
#include <optional>
#include <utility>
#include <ah-concepts.H>
#include <ah-errors.H>
#include <ahFunction.H>
#include <tpl_array.H>
#include <tpl_sort_utils.H>
Include dependency graph for tpl_b_tree.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::detail::BTreeNode< Key >
 
class  Aleph::Gen_B_Tree< Key, Compare, MinDegree >
 Generic B-Tree with configurable minimum degree. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 
namespace  Aleph::detail
 

Typedefs

template<typename Key , class Compare = Aleph::less<Key>, size_t MinDegree = 16>
using Aleph::B_Tree = Gen_B_Tree< Key, Compare, MinDegree >
 Convenient B-Tree alias.
 

Functions

template<typename Compare , typename Key >
bool Aleph::detail::equiv (const Compare &cmp, const Key &lhs, const Key &rhs)
 

Detailed Description

B-Tree implementation with configurable minimum degree.

This header provides Aleph::B_Tree, a balanced multiway search tree suitable for ordered-set workloads and for experimenting with disk/page- oriented tree layouts. Keys are stored directly in every node and all leaves remain at the same depth.

The implementation follows the usual B-Tree invariants:

  • each node stores between t - 1 and 2t - 1 keys (except the root)
  • each internal node with k keys owns k + 1 children
  • keys are kept sorted in every node
  • all leaves appear at the same depth
Author
Leandro Rabindranath León

Definition in file tpl_b_tree.H.