Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CdbBdbSBtreeNode< K, ORDER > Class Template Reference

An embeddable node class for the persistent capable B-tree. More...

#include <CdbBdbSBtreeNode.hh>

List of all members.

Public Member Functions

 CdbBdbSBtreeNode ()
 CdbBdbSBtreeNode (d_ULong p)
 CdbBdbSBtreeNode (const CdbBdbSBtreeNode< K, ORDER > &theNode)
 ~CdbBdbSBtreeNode ()
 The destructor.

CdbBdbSBtreeNode< K, ORDER > & operator= (const CdbBdbSBtreeNode< K, ORDER > &theNode)

Public Attributes

d_ULong parent
d_ULong child [2 *ORDER::N+1]
key [2 *ORDER::N]
d_Boolean isLeaf
d_Octet n


Detailed Description

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
class CdbBdbSBtreeNode< K, ORDER >

An embeddable node class for the persistent capable B-tree.

This template class implement nodes for the corresponding B-tree data structures and related algorithms.

The template is parametrized by mean of the following parameters:

K - is a type of keys. This type has to provide the following methods:

default constructor copy constructor destructor

and operators:

= == < << (into std::ostream)

ORDER - is a utility class with the only usable enumeration specifying an order of the tree. Here is expected interface of this class:

class <name > ... { public: enum { N = }; };

The reason why we're usingthis tricky way to specify the order instead of the non-class template parameter, like "unsigned ORDER", is that teh current version of the DDL compiler does not seem to support this kind of syntax.

Definition at line 58 of file CdbBdbSBtreeNode.hh.


Constructor & Destructor Documentation

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode   [inline]
 

Definition at line 66 of file CdbBdbSBtreeNode.hh.

References CdbBdbSBtreeNode< K, ORDER >::isLeaf, CdbBdbSBtreeNode< K, ORDER >::n, and CdbBdbSBtreeNode< K, ORDER >::parent.

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode d_ULong    p [inline]
 

Definition at line 67 of file CdbBdbSBtreeNode.hh.

References CdbBdbSBtreeNode< K, ORDER >::isLeaf, CdbBdbSBtreeNode< K, ORDER >::n, and CdbBdbSBtreeNode< K, ORDER >::parent.

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode const CdbBdbSBtreeNode< K, ORDER > &    theNode [inline]
 

Definition at line 72 of file CdbBdbSBtreeNode.hh.

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
CdbBdbSBtreeNode< K, ORDER >::~CdbBdbSBtreeNode   [inline]
 

The destructor.

NOTE: The destructor is NOT virtual because this is an embedded class.

Definition at line 82 of file CdbBdbSBtreeNode.hh.


Member Function Documentation

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
CdbBdbSBtreeNode<K,ORDER>& CdbBdbSBtreeNode< K, ORDER >::operator= const CdbBdbSBtreeNode< K, ORDER > &    theNode [inline]
 

Definition at line 87 of file CdbBdbSBtreeNode.hh.


Member Data Documentation

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
d_ULong CdbBdbSBtreeNode< K, ORDER >::child[ 2 * ORDER::N + 1 ]
 

Definition at line 116 of file CdbBdbSBtreeNode.hh.

Referenced by CdbBdbSAbsBtree< K, FCP, ORDER >::insert(), CdbBdbSBtreeP< K, FCP, ORDER >::release(), and CdbBdbSAbsBtree< K, FCP, ORDER >::remove().

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
d_Boolean CdbBdbSBtreeNode< K, ORDER >::isLeaf
 

Definition at line 124 of file CdbBdbSBtreeNode.hh.

Referenced by CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode(), CdbBdbSAbsBtree< K, FCP, ORDER >::insert(), and CdbBdbSAbsBtree< K, FCP, ORDER >::remove().

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
K CdbBdbSBtreeNode< K, ORDER >::key[ 2 * ORDER::N ]
 

Definition at line 120 of file CdbBdbSBtreeNode.hh.

Referenced by CdbBdbSAbsBtree< K, FCP, ORDER >::insert(), CdbBdbSAbsBtree< K, FCP, ORDER >::remove(), and CdbBdbSAbsBtree< K, FCP, ORDER >::search().

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
d_Octet CdbBdbSBtreeNode< K, ORDER >::n
 

Definition at line 129 of file CdbBdbSBtreeNode.hh.

Referenced by CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode(), CdbBdbSAbsBtree< K, FCP, ORDER >::insert(), CdbBdbSAbsBtree< K, FCP, ORDER >::remove(), and CdbBdbSAbsBtree< K, FCP, ORDER >::search().

template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
d_ULong CdbBdbSBtreeNode< K, ORDER >::parent
 

Definition at line 112 of file CdbBdbSBtreeNode.hh.

Referenced by CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode(), CdbBdbSAbsBtree< K, FCP, ORDER >::insert(), and operator<<().


The documentation for this class was generated from the following file:
Generated on Mon Dec 5 18:22:18 2005 for CDB by doxygen1.3-rc3