Xbase64 Class Library  3.1.2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
xbNdx Class Reference

xbNdx class More...

#include <xbndx.h>

Inheritance diagram for xbNdx:
xbIndex xbFile

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)
- Public Member Functions inherited from xbIndex
 xbIndex ()
 xbIndex (xbDbf *)
virtual ~xbIndex ()
xbShort OpenIndex (const char *)
xbShort CloseIndex ()
virtual xbShort TouchIndex ()
virtual xbShort GetNodeSize ()
virtual void Flush ()
virtual const char * GetIxName ()
xbShort AllocKeyBufs ()
xbBool IsOpen ()

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
- Protected Attributes inherited from xbIndex
xbIndexindex
xbDbfdbf
xbExpn * IxExp
FILE * indexfp
xbULong CurDbfRec
char * KeyBuf
char * KeyBuf2
xbShort NodeSize

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

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

Implements xbIndex.

xbULong xbNdx::GetCurDbfRec ( )
inlinevirtual

Implements xbIndex.

xbShort xbNdx::GetCurrentKey ( char *  key)
virtual

Implements xbIndex.

xbLong xbNdx::GetDbfNo ( xbShort  RecNo,
xbNdxNodeLink n 
)
inlineprotected

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

Short description.

Implements xbIndex.

xbShort xbNdx::GetFirstKey ( xbShort  )
protected
virtual xbShort xbNdx::GetHeadNode ( )
protectedvirtual

Implements xbIndex.

char* xbNdx::GetKeyData ( xbShort  ,
xbNdxNodeLink  
)
protected
virtual const char* xbNdx::GetKeyExpression ( )
protectedvirtual

Implements xbIndex.

virtual xbUShort xbNdx::GetKeyLen ( )
protectedvirtual

Implements xbIndex.

xbUShort xbNdx::GetKeysPerNode ( )
protected
xbShort xbNdx::GetLastKey ( )
inlinevirtual

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

Short description.

Implements xbIndex.

xbShort xbNdx::GetNextKey ( xbShort  )
protected
xbNdxNodeLink* xbNdx::GetNodeMemory ( )
protected
xbShort xbNdx::GetPrevKey ( )
inlinevirtual

Short description.

Implements xbIndex.

xbShort xbNdx::GetPrevKey ( xbShort  )
protected
xbLong xbNdx::GetTotalNodes ( )
virtual

Implements xbIndex.

xbShort xbNdx::KeyExists ( const char *  Key)
inline
xbShort xbNdx::KeyExists ( xbDouble  )
virtual

Implements xbIndex.

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

Implements xbIndex.

void xbNdx::UpdateDeleteList ( xbNdxNodeLink )
protected
xbShort xbNdx::UpdateParentKey ( xbNdxNodeLink )
protected

Member Data Documentation

xbNdxNodeLink* xbNdx::CurNode
protected
xbNdxNodeLink* xbNdx::DeleteChain
protected
xbNdxNodeLink* xbNdx::FreeNodeChain
protected
xbNdxHeadNode xbNdx::HeadNode
protected
xbNdxLeafNode xbNdx::LeafNode
protected
char xbNdx::Node[XB_MAX_NDX_NODE_SIZE]
protected
xbNdxNodeLink* xbNdx::NodeChain
protected
xbLong xbNdx::ReusedxbNodeLinks
protected
xbLong xbNdx::xbNodeLinkCtr
protected

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