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:
Generated on Sat Oct 14 08:37:40 2006 for RakNet by  doxygen 1.4.6-NO