![]() |
|
|
Bdb packages | Design docs | Source docs | Guidelines | Recent releases |
|
Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Compound Members File Members CdbBdbSBtreeNode< K, ORDER > Class Template Reference
An embeddable node class for the persistent capable B-tree. More...
[CdbBdbShared]
#include <CdbBdbSBtreeNode.hh>
Public Methods
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] K key [2 *ORDER::N] d_Boolean isLeaf d_Octet n Private Methods
void copySelf (const CdbBdbSBtreeNode< K, ORDER > &theNode) Set up own context from specified one. Detailed Description
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder>
An embeddable node class for the persistent capable B-tree.
class CdbBdbSBtreeNode< K, ORDER >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 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 = <order> }; };
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 78 of file CdbBdbSBtreeNode.hh.
Constructor & Destructor Documentation
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode ( ) [inline]
Definition at line 86 of file CdbBdbSBtreeNode.hh.
References d_True, 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 87 of file CdbBdbSBtreeNode.hh.
References d_True, 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 92 of file CdbBdbSBtreeNode.hh.
References CdbBdbSBtreeNode< K, ORDER >::copySelf().
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 102 of file CdbBdbSBtreeNode.hh.
Member Function Documentation
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> void CdbBdbSBtreeNode< K, ORDER >::copySelf ( const CdbBdbSBtreeNode< K, ORDER > & theNode ) [inline, private]
Set up own context from specified one.
This helper method is used by constructors and assignment operator.
Definition at line 119 of file CdbBdbSBtreeNode.hh.
References CdbBdbSBtreeNode< K, ORDER >::child, CdbBdbSBtreeNode< K, ORDER >::isLeaf, CdbBdbSBtreeNode< K, ORDER >::key, CdbBdbSBtreeNode< K, ORDER >::n, and CdbBdbSBtreeNode< K, ORDER >::parent.
Referenced by CdbBdbSBtreeNode< K, ORDER >::CdbBdbSBtreeNode(), and CdbBdbSBtreeNode< K, ORDER >::operator=().
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> CdbBdbSBtreeNode<K,ORDER>& CdbBdbSBtreeNode< K, ORDER >::operator= ( const CdbBdbSBtreeNode< K, ORDER > & theNode ) [inline]
Definition at line 107 of file CdbBdbSBtreeNode.hh.
References CdbBdbSBtreeNode< K, ORDER >::copySelf().
Member Data Documentation
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> d_ULong CdbBdbSBtreeNode< K, ORDER >::child[ 2 * ORDER::N + 1 ]
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> d_Boolean CdbBdbSBtreeNode< K, ORDER >::isLeaf
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> K CdbBdbSBtreeNode< K, ORDER >::key[ 2 * ORDER::N ]
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> d_Octet CdbBdbSBtreeNode< K, ORDER >::n
template<class K, class ORDER = CdbBdbSBtreeDefaultOrder> d_ULong CdbBdbSBtreeNode< K, ORDER >::parent
The documentation for this class was generated from the following file:
- /CdbBdbShared/CdbBdbSBtreeNode.hh
BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us
Page Owner: Jacek Becla
Last Update: October 04, 2002