xbNdx Class Reference

xbNdx class More...

#include <xbndx.h>

Inheritance diagram for xbNdx:
xbIndex xbFile

List of all members.

Public Member Functions

 xbNdx ()
 Constructor.
 xbNdx (xbDbf *)
 Constructor.
virtual ~xbNdx ()
 Destructor.
xbShort CreateIndex (const char *IxName, const char *Exp, xbShort Unique, xbShort OverLay)
 Short description.
xbLong GetTotalNodes ()
 Short description.
xbULong GetCurDbfRec ()
xbShort CreateKey (xbShort, xbShort)
 Short description.
xbShort GetCurrentKey (char *key)
 Short description.
xbShort AddKey (xbLong)
 Short description.
xbShort UniqueIndex ()
xbShort DeleteKey (xbLong)
 Short description.
xbShort KeyWasChanged ()
 Short description.
xbShort FindKey (const char *Key)
 Short description.
xbShort FindKey ()
 Short description.
xbShort FindKey (xbDouble)
 Short description.
void DumpHdrNode (xbShort Option)
 Short description.
void DumpNodeRec (xbLong NodeNo)
 Short description.
void DumpNodeChain ()
 Short description.
xbShort CheckIndexIntegrity (xbShort Option)
 Short description.
xbShort GetNextKey ()
 Short description.
xbShort GetLastKey ()
 Short description.
xbShort GetFirstKey ()
 Short description.
xbShort GetPrevKey ()
 Short description.
xbShort ReIndex (void(*statusFunc)(xbLong itemNum, xbLong numItems)=0)
 Short description.
xbShort KeyExists (const char *Key)
xbShort KeyExists (xbDouble)
 Short description.
virtual void SetNodeSize (xbShort size)
 Short description.
virtual void GetExpression (char *buf, int len)
 Short description.
virtual const char * GetExtWithDot (bool lower)

Protected Member Functions

virtual xbUShort GetKeyLen ()
virtual const char * GetKeyExpression ()
virtual void FreeNodesMemory ()
xbLong GetLeftNodeNo (xbShort, xbNdxNodeLink *)
 Short description.
xbShort CompareKey (const char *Key1, const char *Key2, xbShort Klen)
 Short description.
xbLong GetDbfNo (xbShort RecNo, xbNdxNodeLink *n)
 Short description.
char * GetKeyData (xbShort, xbNdxNodeLink *)
 Short description.
xbUShort GetKeysPerNode ()
 Short description.
virtual xbShort GetHeadNode ()
 Short description.
xbShort GetLeafNode (xbLong, xbShort)
 Short description.
xbNdxNodeLinkGetNodeMemory ()
 Short description.
void ReleaseNodeMemory (xbNdxNodeLink *n, xbBool doFree=false)
 Short description.
xbShort BSearchNode (const char *key, xbShort klen, const xbNdxNodeLink *node, xbShort *comp)
 Short description.
xbLong GetLeafFromInteriorNode (const char *Tkey, xbShort Klen)
 Short description.
xbShort CalcKeyLen ()
 Short description.
xbShort PutKeyData (xbShort, xbNdxNodeLink *)
 Short description.
xbShort PutLeftNodeNo (xbShort, xbNdxNodeLink *, xbLong)
 Short description.
xbShort PutLeafNode (xbLong, xbNdxNodeLink *)
 Short description.
xbShort PutHeadNode (xbNdxHeadNode *, FILE *, xbShort)
 Short description.
xbShort PutDbfNo (xbShort, xbNdxNodeLink *, xbLong)
 Short description.
xbShort PutKeyInNode (xbNdxNodeLink *, xbShort, xbLong, xbLong, xbShort)
 Short description.
xbShort SplitLeafNode (xbNdxNodeLink *, xbNdxNodeLink *, xbShort, xbLong)
 Short description.
xbShort SplitINode (xbNdxNodeLink *, xbNdxNodeLink *, xbLong)
 Short description.
xbShort AddToIxList ()
xbShort RemoveFromIxList ()
xbShort RemoveKeyFromNode (xbShort, xbNdxNodeLink *)
 Short description.
xbShort FindKey (const char *Tkey, xbShort Klen, xbShort RetrieveSw)
 Short description.
xbShort UpdateParentKey (xbNdxNodeLink *)
 Short description.
xbShort GetFirstKey (xbShort)
 Short description.
xbShort GetNextKey (xbShort)
 Short description.
xbShort GetLastKey (xbLong, xbShort)
 Short description.
xbShort GetPrevKey (xbShort)
 Short description.
void UpdateDeleteList (xbNdxNodeLink *)
 Short description.
void ProcessDeleteList ()
 Short description.
xbNdxNodeLinkLeftSiblingHasSpace (xbNdxNodeLink *)
 Short description.
xbNdxNodeLinkRightSiblingHasSpace (xbNdxNodeLink *)
 Short description.
xbShort DeleteSibling (xbNdxNodeLink *)
 Short description.
xbShort MoveToLeftNode (xbNdxNodeLink *, xbNdxNodeLink *)
 Short description.
xbShort MoveToRightNode (xbNdxNodeLink *, xbNdxNodeLink *)
 Short description.
xbShort FindKey (const char *Tkey, xbLong DbfRec)
 Short description.

Protected Attributes

xbNdxHeadNode HeadNode
xbNdxLeafNode LeafNode
xbLong xbNodeLinkCtr
xbLong ReusedxbNodeLinks
char Node [XB_MAX_NDX_NODE_SIZE]
xbNdxNodeLinkNodeChain
xbNdxNodeLinkFreeNodeChain
xbNdxNodeLinkCurNode
xbNdxNodeLinkDeleteChain

Detailed Description

xbNdx class


Constructor & Destructor Documentation

xbNdx::xbNdx (  ) 

Constructor.

Parameters:
pdbf 
xbNdx::xbNdx ( xbDbf pdbf  ) 

Constructor.

Parameters:
pdbf 
xbNdx::~xbNdx (  )  [virtual]

Destructor.


Member Function Documentation

xbShort xbNdx::AddKey ( xbLong  DbfRec  )  [virtual]

Short description.

Parameters:
DbfRec 

Implements xbIndex.

xbShort xbNdx::AddToIxList (  )  [protected]
xbShort xbNdx::BSearchNode ( const char *  key,
xbShort  klen,
const xbNdxNodeLink node,
xbShort comp 
) [protected]

Short description.

Parameters:
key 
klen 
node 
comp 
xbShort xbNdx::CalcKeyLen (  )  [protected]

Short description.

xbShort xbNdx::CheckIndexIntegrity ( xbShort  Option  )  [virtual]

Short description.

Parameters:
option 

Implements xbIndex.

xbShort xbNdx::CompareKey ( const char *  Key1,
const char *  Key2,
xbShort  Klen 
) [inline, protected]

Short description.

xbShort xbNdx::CreateIndex ( const char *  IxName,
const char *  Exp,
xbShort  Unique,
xbShort  Overlay 
) [virtual]

Short description.

Parameters:
IxName 
Exp 
Unique 
Overlay 

Implements xbIndex.

xbShort xbNdx::CreateKey ( xbShort  RecBufSw,
xbShort  KeyBufSw 
) [virtual]

Short description.

Parameters:
RecBufSw 
KeyBufSw 

Implements xbIndex.

xbShort xbNdx::DeleteKey ( xbLong  DbfRec  )  [virtual]

Short description.

Parameters:
DbfRec 

Implements xbIndex.

xbShort xbNdx::DeleteSibling ( xbNdxNodeLink n  )  [protected]

Short description.

Parameters:
n 
void xbNdx::DumpHdrNode ( xbShort  Option  )  [virtual]

Short description.

Implements xbIndex.

void xbNdx::DumpNodeChain ( void   )  [virtual]

Short description.

Implements xbIndex.

void xbNdx::DumpNodeRec ( xbLong  n  )  [virtual]

Short description.

Parameters:
n 

Implements xbIndex.

xbShort xbNdx::FindKey ( const char *  Tkey,
xbLong  DbfRec 
) [protected]

Short description.

Parameters:
Tkey 
DbfRec 
xbShort xbNdx::FindKey ( const char *  Tkey,
xbShort  Klen,
xbShort  RetrieveSw 
) [protected]

Short description.

Parameters:
Tkey 
Klen 
RetrieveSw 
xbShort xbNdx::FindKey ( xbDouble  d  )  [virtual]

Short description.

Parameters:
d 

Implements xbIndex.

xbShort xbNdx::FindKey ( void   )  [virtual]

Short description.

Implements xbIndex.

xbShort xbNdx::FindKey ( const char *  Key  )  [virtual]

Short description.

Parameters:
Key 

Implements xbIndex.

void xbNdx::FreeNodesMemory (  )  [protected, virtual]

Implements xbIndex.

xbULong xbNdx::GetCurDbfRec (  )  [inline, virtual]

Implements xbIndex.

xbShort xbNdx::GetCurrentKey ( char *  key  )  [virtual]

Short description.

Parameters:
key 

Implements xbIndex.

xbLong xbNdx::GetDbfNo ( xbShort  RecNo,
xbNdxNodeLink n 
) [inline, protected]

Short description.

void xbNdx::GetExpression ( char *  buf,
int  len 
) [virtual]

Short description.

Parameters:
buf 
len 

Implements xbIndex.

const char * xbNdx::GetExtWithDot ( bool  lower  )  [virtual]

Implements xbFile.

xbShort xbNdx::GetFirstKey ( xbShort  RetrieveSw  )  [protected]

Short description.

Parameters:
RetrieveSw 
xbShort xbNdx::GetFirstKey (  )  [inline, virtual]

Short description.

Implements xbIndex.

xbShort xbNdx::GetHeadNode ( void   )  [protected, virtual]

Short description.

Implements xbIndex.

char * xbNdx::GetKeyData ( xbShort  RecNo,
xbNdxNodeLink n 
) [protected]

Short description.

Parameters:
RecNo 
n 
const char * xbNdx::GetKeyExpression (  )  [protected, virtual]

Implements xbIndex.

xbUShort xbNdx::GetKeyLen (  )  [protected, virtual]

Implements xbIndex.

xbUShort xbNdx::GetKeysPerNode ( void   )  [protected]

Short description.

xbShort xbNdx::GetLastKey ( xbLong  NodeNo,
xbShort  RetrieveSw 
) [protected]

Short description.

Parameters:
NodeNo 
RetrieveSw 
xbShort xbNdx::GetLastKey (  )  [inline, virtual]

Short description.

Implements xbIndex.

xbLong xbNdx::GetLeafFromInteriorNode ( const char *  Tkey,
xbShort  Klen 
) [protected]

Short description.

Parameters:
Tkey 
Klen 
xbShort xbNdx::GetLeafNode ( xbLong  NodeNo,
xbShort  SetNodeChain 
) [protected]

Short description.

Parameters:
NodeNo 
SetNodeChain 
xbLong xbNdx::GetLeftNodeNo ( xbShort  RecNo,
xbNdxNodeLink n 
) [protected]

Short description.

Parameters:
RecNo 
n 
xbShort xbNdx::GetNextKey ( xbShort  RetrieveSw  )  [protected]

Short description.

Parameters:
RetrieveSw 
xbShort xbNdx::GetNextKey (  )  [inline, virtual]

Short description.

Implements xbIndex.

xbNdxNodeLink * xbNdx::GetNodeMemory (  )  [protected]

Short description.

xbShort xbNdx::GetPrevKey ( xbShort  RetrieveSw  )  [protected]

Short description.

Parameters:
RetrieveSw 
xbShort xbNdx::GetPrevKey (  )  [inline, virtual]

Short description.

Implements xbIndex.

xbLong xbNdx::GetTotalNodes ( void   )  [virtual]

Short description.

Implements xbIndex.

xbShort xbNdx::KeyExists ( xbDouble  d  )  [virtual]

Short description.

Parameters:
d 

Implements xbIndex.

xbShort xbNdx::KeyExists ( const char *  Key  )  [inline]
xbShort xbNdx::KeyWasChanged ( void   )  [virtual]

Short description.

Implements xbIndex.

xbNdxNodeLink * xbNdx::LeftSiblingHasSpace ( xbNdxNodeLink n  )  [protected]

Short description.

Parameters:
n 
xbShort xbNdx::MoveToLeftNode ( xbNdxNodeLink n,
xbNdxNodeLink Left 
) [protected]

Short description.

Parameters:
n 
Left 
xbShort xbNdx::MoveToRightNode ( xbNdxNodeLink n,
xbNdxNodeLink Right 
) [protected]

Short description.

Parameters:
n 
Right 
void xbNdx::ProcessDeleteList ( void   )  [protected]

Short description.

xbShort xbNdx::PutDbfNo ( xbShort  RecNo,
xbNdxNodeLink n,
xbLong  DbfNo 
) [protected]

Short description.

Parameters:
RecNo 
n 
DbfNo 
xbShort xbNdx::PutHeadNode ( xbNdxHeadNode Head,
FILE *  f,
xbShort  UpdateOnly 
) [protected]

Short description.

Parameters:
Head 
f 
UpdateOnly 
xbShort xbNdx::PutKeyData ( xbShort  RecNo,
xbNdxNodeLink n 
) [protected]

Short description.

Parameters:
RecNo 
n 
xbShort xbNdx::PutKeyInNode ( xbNdxNodeLink n,
xbShort  pos,
xbLong  d,
xbLong  l,
xbShort  w 
) [protected]

Short description.

Parameters:
n 
pos 
d 
l 
w 
xbShort xbNdx::PutLeafNode ( xbLong  l,
xbNdxNodeLink n 
) [protected]

Short description.

Parameters:
l 
n 
xbShort xbNdx::PutLeftNodeNo ( xbShort  RecNo,
xbNdxNodeLink n,
xbLong  NodeNo 
) [protected]

Short description.

Parameters:
RecNo 
n 
NodeNo 
xbShort xbNdx::ReIndex ( void(*)(xbLong itemNum, xbLong numItems)  statusFunc = 0  )  [virtual]

Short description.

Parameters:
statusFunc 

Implements xbIndex.

void xbNdx::ReleaseNodeMemory ( xbNdxNodeLink n,
xbBool  doFree = false 
) [protected]

Short description.

Parameters:
n 
xbShort xbNdx::RemoveFromIxList (  )  [protected]
xbShort xbNdx::RemoveKeyFromNode ( xbShort  pos,
xbNdxNodeLink n 
) [protected]

Short description.

Parameters:
pos 
n 
xbNdxNodeLink * xbNdx::RightSiblingHasSpace ( xbNdxNodeLink n  )  [protected]

Short description.

Parameters:
n 
void xbNdx::SetNodeSize ( xbShort  size  )  [virtual]

Short description.

Parameters:
size 

Reimplemented from xbIndex.

xbShort xbNdx::SplitINode ( xbNdxNodeLink nodeToSplit,
xbNdxNodeLink newNode,
xbLong  dscNodeNo 
) [protected]

Short description.

Parameters:
nodeToSplit Interior node to split
newNode New empty node to use
dscNodeNo Descendant node number
xbShort xbNdx::SplitLeafNode ( xbNdxNodeLink curNode,
xbNdxNodeLink newNode,
xbShort  pos,
xbLong  d 
) [protected]

Short description.

Parameters:
curNode Current Node
newNode New Empty Node
pos Position of new key in current node
d dbf record number
xbShort xbNdx::UniqueIndex (  )  [inline, virtual]

Implements xbIndex.

void xbNdx::UpdateDeleteList ( xbNdxNodeLink n  )  [protected]

Short description.

Parameters:
n 
xbShort xbNdx::UpdateParentKey ( xbNdxNodeLink n  )  [protected]

Short description.

Parameters:
n 

Member Data Documentation

char xbNdx::Node[XB_MAX_NDX_NODE_SIZE] [protected]

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

Generated on 28 Dec 2009 for Xbase64 Class Library by  doxygen 1.6.1