xbNdx Class Reference

xbNdx class More...

#include <xbndx.h>

Inheritance diagram for xbNdx:

xbIndex xbFile

List of all members.

Public Member Functions

 xbNdx ()
 xbNdx (xbDbf *)
virtual ~xbNdx ()
xbShort CreateIndex (const char *IxName, const char *Exp, xbShort Unique, xbShort OverLay)
xbLong GetTotalNodes ()
xbULong GetCurDbfRec ()
xbShort CreateKey (xbShort, xbShort)
xbShort GetCurrentKey (char *key)
xbShort AddKey (xbLong)
xbShort UniqueIndex ()
xbShort DeleteKey (xbLong)
xbShort KeyWasChanged ()
xbShort FindKey (const char *Key)
xbShort FindKey ()
xbShort FindKey (xbDouble)
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)
xbShort KeyExists (const char *Key)
xbShort KeyExists (xbDouble)
virtual void SetNodeSize (xbShort size)
virtual void GetExpression (char *buf, int len)
virtual const char * GetExtWithDot (bool lower)

Protected Member Functions

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

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 (  ) 

xbNdx::xbNdx ( xbDbf  ) 

virtual xbNdx::~xbNdx (  )  [virtual]


Member Function Documentation

xbShort xbNdx::AddKey ( xbLong   )  [virtual]

Implements xbIndex.

xbShort xbNdx::AddToIxList (  )  [protected]

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

xbShort xbNdx::CalcKeyLen (  )  [protected]

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]

Implements xbIndex.

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

Implements xbIndex.

xbShort xbNdx::DeleteKey ( xbLong   )  [virtual]

Implements xbIndex.

xbShort xbNdx::DeleteSibling ( xbNdxNodeLink  )  [protected]

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

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

xbShort xbNdx::FindKey ( xbDouble   )  [virtual]

Implements xbIndex.

xbShort xbNdx::FindKey (  )  [virtual]

Implements xbIndex.

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

Implements xbIndex.

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

Implements xbIndex.

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

Implements xbIndex.

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

Implements xbIndex.

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

Short description.

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

Implements xbIndex.

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

Implements xbFile.

xbShort xbNdx::GetFirstKey ( xbShort   )  [protected]

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

Short description.

Implements xbIndex.

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

Implements xbIndex.

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

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

Implements xbIndex.

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

Implements xbIndex.

xbUShort xbNdx::GetKeysPerNode (  )  [protected]

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

xbShort xbNdx::GetLastKey (  )  [inline, virtual]

Short description.

Implements xbIndex.

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

xbShort xbNdx::GetLeafNode ( xbLong  ,
xbShort   
) [protected]

xbLong xbNdx::GetLeftNodeNo ( xbShort  ,
xbNdxNodeLink  
) [protected]

xbShort xbNdx::GetNextKey ( xbShort   )  [protected]

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

Short description.

Implements xbIndex.

xbNdxNodeLink* xbNdx::GetNodeMemory (  )  [protected]

xbShort xbNdx::GetPrevKey ( xbShort   )  [protected]

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

Short description.

Implements xbIndex.

xbLong xbNdx::GetTotalNodes (  )  [virtual]

Implements xbIndex.

xbShort xbNdx::KeyExists ( xbDouble   )  [virtual]

Implements xbIndex.

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

xbShort xbNdx::KeyWasChanged (  )  [virtual]

Implements xbIndex.

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

xbShort xbNdx::MoveToLeftNode ( xbNdxNodeLink ,
xbNdxNodeLink  
) [protected]

xbShort xbNdx::MoveToRightNode ( xbNdxNodeLink ,
xbNdxNodeLink  
) [protected]

void xbNdx::ProcessDeleteList (  )  [protected]

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

xbShort xbNdx::PutHeadNode ( xbNdxHeadNode ,
FILE *  ,
xbShort   
) [protected]

xbShort xbNdx::PutKeyData ( xbShort  ,
xbNdxNodeLink  
) [protected]

xbShort xbNdx::PutKeyInNode ( xbNdxNodeLink ,
xbShort  ,
xbLong  ,
xbLong  ,
xbShort   
) [protected]

xbShort xbNdx::PutLeafNode ( xbLong  ,
xbNdxNodeLink  
) [protected]

xbShort xbNdx::PutLeftNodeNo ( xbShort  ,
xbNdxNodeLink ,
xbLong   
) [protected]

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

Implements xbIndex.

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

xbShort xbNdx::RemoveFromIxList (  )  [protected]

xbShort xbNdx::RemoveKeyFromNode ( xbShort  ,
xbNdxNodeLink  
) [protected]

xbNdxNodeLink* xbNdx::RightSiblingHasSpace ( xbNdxNodeLink  )  [protected]

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

Reimplemented from xbIndex.

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

xbShort xbNdx::SplitLeafNode ( xbNdxNodeLink ,
xbNdxNodeLink ,
xbShort  ,
xbLong   
) [protected]

xbShort xbNdx::UniqueIndex (  )  [inline, virtual]

Implements xbIndex.

void xbNdx::UpdateDeleteList ( xbNdxNodeLink  )  [protected]

xbShort xbNdx::UpdateParentKey ( xbNdxNodeLink  )  [protected]


Member Data Documentation

char xbNdx::Node[XB_MAX_NDX_NODE_SIZE] [protected]


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

Generated on Wed Aug 19 23:53:16 2009 for Xbase64 Class Library by  doxygen 1.5.9