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: