Dynalib Utils
Classes | Macros | Enumerations | Functions
DynaBTree.h File Reference
#include <exception>
#include <type_traits>
#include <cstring>
#include "TypeDefs.h"
#include "ICopyable.h"
#include "DynaArray.h"
#include "DynaList.h"
#include "DynaBuffer.h"
#include "ICacheConst.h"
Include dependency graph for DynaBTree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DynaBTreeNode< K >
 Base Class for B-Tree nodes. More...
 
class  DynaBTreeLeafNode< K, V >
 B-Tree Leaf Node. More...
 
struct  DynaTreeLeafElem< K, V >
 
struct  DynaTreeLeafElem< K, V >::Data
 
struct  DynaTreeInnerElem< K >
 
struct  DynaTreeInnerElem< K >::Data
 
class  DynaBTree< K, V >
 B-Tree main class. More...
 
class  DynaBTreeNode< K >
 Base Class for B-Tree nodes. More...
 
class  DynaBTreeLeafNode< K, V >
 B-Tree Leaf Node. More...
 
class  DynaBTreeInnerNode< K >
 B-Tree Inner Node. More...
 

Macros

#define MAKE_BTREETYPE_DEF(K, V, T)
 

Enumerations

enum  MatchType { MatchType::FULL_KEY, MatchType::PARTIAL_KEY, MatchType::WITH_VALUE }
 
enum  TreeNodeType { TreeNodeType::NONE, TreeNodeType::LEAF, TreeNodeType::INNER }
 

Functions

template<typename T >
T * ptr (T &obj)
 
template<typename T >
T * ptr (T *obj)
 

Macro Definition Documentation

◆ MAKE_BTREETYPE_DEF

#define MAKE_BTREETYPE_DEF (   K,
  V,
 
)
Value:
typedef DynaTreeInnerElem<K> T##TreeInnerElem; \
typedef DynaTreeLeafElem<K,V> T##TreeLeafElem; \
typedef DynaTreeInnerElem<K>::Data T##TreeInnerData; \
typedef DynaTreeLeafElem<K,V>::Data T##TreeLeafData; \
typedef DynaBTree<K,V> T##BTree; \
typedef DynaBTreeLeafNode<K,V> T##BTreeLeafNode; \
typedef DynaBTreeInnerNode<K> T##BTreeInnerNode
B-Tree Leaf Node.
Definition: DynaBTree.h:26
Definition: DynaBTree.h:37
B-Tree Inner Node.
Definition: DynaBTree.h:209
Definition: DynaBTree.h:54
Definition: DynaBTree.h:35
Definition: DynaBTree.h:56
B-Tree main class.
Definition: DynaBTree.h:78

Enumeration Type Documentation

◆ MatchType

enum MatchType
strong
Enumerator
FULL_KEY 
PARTIAL_KEY 
WITH_VALUE 

◆ TreeNodeType

enum TreeNodeType
strong
Enumerator
NONE 
LEAF 
INNER 

Function Documentation

◆ ptr() [1/2]

template<typename T >
T* ptr ( T &  obj)

◆ ptr() [2/2]

template<typename T >
T* ptr ( T *  obj)