#include <DS_BPlusTree.h>
Public Member Functions | |
| bool | Get (const KeyType key, DataType &out) const |
| bool | Delete (const KeyType key) |
| bool | Delete (const KeyType key, DataType &out) |
| bool | Insert (const KeyType key, const DataType &data) |
| void | Preallocate (const int size) |
| void | Clear (void) |
| unsigned | Size (void) const |
| bool | IsEmpty (void) const |
| Page< KeyType, DataType, order > * | GetListHead (void) const |
| DataType | GetDataHead (void) const |
| void | PrintLeaves (void) |
| void | ForEachLeaf (void(*func)(Page< KeyType, DataType, order > *leaf, int index)) |
| void | ForEachData (void(*func)(DataType input, int index)) |
| void | PrintGraph (void) |
| void | ValidateTree (void) |
Protected Member Functions | |
| void | ValidateTreeRecursive (Page< KeyType, DataType, order > *cur) |
| void | DeleteFromPageAtIndex (const int index, Page< KeyType, DataType, order > *cur) |
| void | FreePages (void) |
| bool | GetIndexOf (const KeyType key, Page< KeyType, DataType, order > *page, int *out) const |
| void | ShiftKeysLeft (Page< KeyType, DataType, order > *cur) |
| bool | CanRotateLeft (Page< KeyType, DataType, order > *cur, int childIndex) |
| bool | CanRotateRight (Page< KeyType, DataType, order > *cur, int childIndex) |
| void | RotateRight (Page< KeyType, DataType, order > *cur, int childIndex, ReturnAction *returnAction) |
| void | RotateLeft (Page< KeyType, DataType, order > *cur, int childIndex, ReturnAction *returnAction) |
| Page< KeyType, DataType, order > * | InsertIntoNode (const KeyType key, const DataType &childData, int insertionIndex, Page< KeyType, DataType, order > *nodeData, Page< KeyType, DataType, order > *cur, ReturnAction *returnAction) |
| Page< KeyType, DataType, order > * | InsertBranchDown (const KeyType key, const DataType &data, Page< KeyType, DataType, order > *cur, ReturnAction *returnAction, bool *success) |
| Page< KeyType, DataType, order > * | GetLeafFromKey (const KeyType key) const |
| bool | FindDeleteRebalance (const KeyType key, Page< KeyType, DataType, order > *cur, bool *underflow, KeyType rightRootKey, ReturnAction *returnAction, DataType &out) |
| bool | FixUnderflow (int branchIndex, Page< KeyType, DataType, order > *cur, KeyType rightRootKey, ReturnAction *returnAction) |
| void | ShiftNodeLeft (Page< KeyType, DataType, order > *cur) |
| void | ShiftNodeRight (Page< KeyType, DataType, order > *cur) |
Static Protected Member Functions | |
| static void | PrintLeaf (Page< KeyType, DataType, order > *leaf, int index) |
Protected Attributes | |
|
MemoryPool< Page< KeyType, DataType, order > > | pagePool |
| Page< KeyType, DataType, order > * | root |
| Page< KeyType, DataType, order > * | leftmostLeaf |
Classes | |
| struct | ReturnAction |
1.4.6-NO