- Main Page
- Modules
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# DataStructures::BPlusTree< KeyType, DataType, order > Class Template Reference

`#include <DS_BPlusTree.h>`

List of all members.

## 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

## Detailed Description

### template<class KeyType, class DataType, int order>
class DataStructures::BPlusTree< KeyType, DataType, order >

A BPlus tree Written with efficiency and speed in mind.

The documentation for this class was generated from the following file:

- C:/RakNet 2.518/Include/DS_BPlusTree.h