Dynalib Utils
Public Member Functions | List of all members
DynaBTreeInnerNode< K > Class Template Reference

B-Tree Inner Node. More...

#include <DynaBTree.h>

Inheritance diagram for DynaBTreeInnerNode< K >:
Inheritance graph
[legend]
Collaboration diagram for DynaBTreeInnerNode< K >:
Collaboration graph
[legend]

Public Member Functions

 DynaBTreeInnerNode (int order)
 
virtual ~DynaBTreeInnerNode ()
 
 DynaBTreeInnerNode (const DynaBTreeInnerNode< K > &other)
 
DynaBTreeNode< K > * copy () override
 
void setElemDataPos (uint index, DynaTreeInnerElem< K > &elem)
 
bool getKeyFromData (uint index, K &key) override
 
void setKeyToData (uint index, K &key) override
 
DynaBTreeNode< K > * getChild (uint index)
 
void setChild (uint index, DynaBTreeNode< K > *child)
 
int search (K &key, MatchType match=MatchType::FULL_KEY) override
 
DynaBTreeNode< K > * split () override
 
DynaBTreeNode< K > * pullUpKey (K &key, DynaBTreeNode< K > *leftChild, DynaBTreeNode< K > *rightNode) override
 
void transferChildren (DynaBTreeNode< K > *fromNode, DynaBTreeNode< K > *toNode, uint toIndex) override
 
DynaBTreeNode< K > * joinChildren (DynaBTreeNode< K > *leftChild, DynaBTreeNode< K > *rightChild) override
 
void joinWithSibling (K &sinkKey, DynaBTreeNode< K > *rightSibling) override
 
void transferFromSibling (K &sinkKey, K &upKey, DynaBTreeNode< K > *sibling, uint fromIndex) override
 
- Public Member Functions inherited from DynaBTreeNode< K >
 DynaBTreeNode (TreeNodeType nodeType, int maxKeys, int leafOrder, int innerOrder)
 
virtual ~DynaBTreeNode ()
 
 DynaBTreeNode (const DynaBTreeNode< K > &other)
 
DynaBuffergetBuffer ()
 
DynaBTreeNode< K > * getParent ()
 
void setParent (DynaBTreeNode< K > *parent)
 
TreeNodeType getNodeType ()
 
int getKeyCount ()
 
bool wasFound (int returnValue)
 
int insertAt (int returnValue)
 
virtual bool isOverflow ()
 
virtual DynaBTreeNode< K > * handleOverflow ()
 
virtual bool isUnderflow ()
 
virtual bool canGiveKey ()
 
DynaBTreeNode< K > * getLeftSibling ()
 
void setLeftSibling (DynaBTreeNode< K > *sibling)
 
DynaBTreeNode< K > * getRightSibling ()
 
void setRightSibling (DynaBTreeNode< K > *sibling)
 
DynaBTreeNode< K > * handleUnderflow ()
 
- Public Member Functions inherited from ICopyable< DynaBTreeNode< K > >
 ICopyable ()=default
 
virtual ~ICopyable ()=default
 

Additional Inherited Members

- Protected Attributes inherited from DynaBTreeNode< K >
TreeNodeType _nodeType
 
int _leafOrder
 
int _innerOrder
 
DynaBuffer_buffer
 
index_t _parentIndex
 
index_t _leftSiblingIndex
 
index_t _rightSiblingIndex
 
DynaBTreeNode< K > * _parent
 
DynaBTreeNode< K > * _leftSibling
 
DynaBTreeNode< K > * _rightSibling
 

Detailed Description

template<typename K>
class DynaBTreeInnerNode< K >

B-Tree Inner Node.

Template Parameters
K

Constructor & Destructor Documentation

◆ DynaBTreeInnerNode() [1/2]

template<typename K >
DynaBTreeInnerNode< K >::DynaBTreeInnerNode ( int  order)
explicit

◆ ~DynaBTreeInnerNode()

template<typename K >
DynaBTreeInnerNode< K >::~DynaBTreeInnerNode ( )
virtual

◆ DynaBTreeInnerNode() [2/2]

template<typename K >
DynaBTreeInnerNode< K >::DynaBTreeInnerNode ( const DynaBTreeInnerNode< K > &  other)

Member Function Documentation

◆ copy()

template<typename K >
DynaBTreeNode< K > * DynaBTreeInnerNode< K >::copy ( )
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ getChild()

template<typename K >
DynaBTreeNode< K > * DynaBTreeInnerNode< K >::getChild ( uint  index)

◆ getKeyFromData()

template<typename K >
bool DynaBTreeInnerNode< K >::getKeyFromData ( uint  index,
K &  key 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ joinChildren()

template<typename K >
DynaBTreeNode< K > * DynaBTreeInnerNode< K >::joinChildren ( DynaBTreeNode< K > *  leftChild,
DynaBTreeNode< K > *  rightChild 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ joinWithSibling()

template<typename K >
void DynaBTreeInnerNode< K >::joinWithSibling ( K &  sinkKey,
DynaBTreeNode< K > *  rightSibling 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ pullUpKey()

template<typename K >
DynaBTreeNode< K > * DynaBTreeInnerNode< K >::pullUpKey ( K &  key,
DynaBTreeNode< K > *  leftChild,
DynaBTreeNode< K > *  rightNode 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ search()

template<typename K >
int DynaBTreeInnerNode< K >::search ( K &  key,
MatchType  match = MatchType::FULL_KEY 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ setChild()

template<typename K >
void DynaBTreeInnerNode< K >::setChild ( uint  index,
DynaBTreeNode< K > *  child 
)

◆ setElemDataPos()

template<typename K >
void DynaBTreeInnerNode< K >::setElemDataPos ( uint  index,
DynaTreeInnerElem< K > &  elem 
)

◆ setKeyToData()

template<typename K >
void DynaBTreeInnerNode< K >::setKeyToData ( uint  index,
K &  key 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ split()

template<typename K >
DynaBTreeNode< K > * DynaBTreeInnerNode< K >::split ( )
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ transferChildren()

template<typename K >
void DynaBTreeInnerNode< K >::transferChildren ( DynaBTreeNode< K > *  fromNode,
DynaBTreeNode< K > *  toNode,
uint  toIndex 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.

◆ transferFromSibling()

template<typename K >
void DynaBTreeInnerNode< K >::transferFromSibling ( K &  sinkKey,
K &  upKey,
DynaBTreeNode< K > *  sibling,
uint  fromIndex 
)
overridevirtual

Reimplemented from DynaBTreeNode< K >.


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