Xbase64 Class Library  3.1.2
Public Member Functions | Protected Member Functions | Protected Attributes
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

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::FindKey ( const char *  Key) [virtual]

Implements xbIndex.

xbShort xbNdx::FindKey ( ) [virtual]

Implements xbIndex.

xbShort xbNdx::FindKey ( xbDouble  ) [virtual]

Implements xbIndex.

xbShort xbNdx::FindKey ( const char *  Tkey,
xbShort  Klen,
xbShort  RetrieveSw 
) [protected]
xbShort xbNdx::FindKey ( const char *  Tkey,
xbLong  DbfRec 
) [protected]
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 ( ) [inline, virtual]

Short description.

Implements xbIndex.

xbShort xbNdx::GetFirstKey ( xbShort  ) [protected]
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.

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

Short description.

Implements xbIndex.

xbShort xbNdx::GetLastKey ( xbLong  ,
xbShort   
) [protected]
xbLong xbNdx::GetLeafFromInteriorNode ( const char *  Tkey,
xbShort  Klen 
) [protected]
xbShort xbNdx::GetLeafNode ( xbLong  ,
xbShort   
) [protected]
xbLong xbNdx::GetLeftNodeNo ( xbShort  ,
xbNdxNodeLink  
) [protected]
xbShort xbNdx::GetNextKey ( ) [inline, virtual]

Short description.

Implements xbIndex.

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

Short description.

Implements xbIndex.

xbShort xbNdx::GetPrevKey ( xbShort  ) [protected]

Implements xbIndex.

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

Implements xbIndex.

Implements xbIndex.

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]
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]

Member Data Documentation

char xbNdx::Node[XB_MAX_NDX_NODE_SIZE] [protected]

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