#include <xbndx.h>
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. | |
xbNdxNodeLink * | GetNodeMemory () |
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. | |
xbNdxNodeLink * | LeftSiblingHasSpace (xbNdxNodeLink *) |
Short description. | |
xbNdxNodeLink * | RightSiblingHasSpace (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] |
xbNdxNodeLink * | NodeChain |
xbNdxNodeLink * | FreeNodeChain |
xbNdxNodeLink * | CurNode |
xbNdxNodeLink * | DeleteChain |
xbNdx class
xbNdx::xbNdx | ( | ) |
Constructor.
pdbf |
xbNdx::xbNdx | ( | xbDbf * | pdbf | ) |
Constructor.
pdbf |
xbNdx::~xbNdx | ( | ) | [virtual] |
Destructor.
xbShort xbNdx::AddToIxList | ( | ) | [protected] |
xbShort xbNdx::BSearchNode | ( | const char * | key, | |
xbShort | klen, | |||
const xbNdxNodeLink * | node, | |||
xbShort * | comp | |||
) | [protected] |
Short description.
key | ||
klen | ||
node | ||
comp |
xbShort xbNdx::CalcKeyLen | ( | ) | [protected] |
Short description.
xbShort xbNdx::CompareKey | ( | const char * | Key1, | |
const char * | Key2, | |||
xbShort | Klen | |||
) | [inline, protected] |
Short description.
xbShort xbNdx::DeleteSibling | ( | xbNdxNodeLink * | n | ) | [protected] |
Short description.
n |
void xbNdx::DumpNodeChain | ( | void | ) | [virtual] |
Short description.
Implements xbIndex.
Short description.
Tkey | ||
DbfRec |
Short description.
Tkey | ||
Klen | ||
RetrieveSw |
xbShort xbNdx::FindKey | ( | const char * | Key | ) | [virtual] |
void xbNdx::FreeNodesMemory | ( | ) | [protected, virtual] |
Implements xbIndex.
xbShort xbNdx::GetCurrentKey | ( | char * | key | ) | [virtual] |
xbLong xbNdx::GetDbfNo | ( | xbShort | RecNo, | |
xbNdxNodeLink * | n | |||
) | [inline, protected] |
Short description.
void xbNdx::GetExpression | ( | char * | buf, | |
int | len | |||
) | [virtual] |
const char * xbNdx::GetExtWithDot | ( | bool | lower | ) | [virtual] |
Implements xbFile.
Short description.
RetrieveSw |
char * xbNdx::GetKeyData | ( | xbShort | RecNo, | |
xbNdxNodeLink * | n | |||
) | [protected] |
Short description.
RecNo | ||
n |
const char * xbNdx::GetKeyExpression | ( | ) | [protected, virtual] |
Implements xbIndex.
xbUShort xbNdx::GetKeysPerNode | ( | void | ) | [protected] |
Short description.
Short description.
NodeNo | ||
RetrieveSw |
Short description.
Tkey | ||
Klen |
Short description.
NodeNo | ||
SetNodeChain |
xbLong xbNdx::GetLeftNodeNo | ( | xbShort | RecNo, | |
xbNdxNodeLink * | n | |||
) | [protected] |
Short description.
RecNo | ||
n |
Short description.
RetrieveSw |
xbNdxNodeLink * xbNdx::GetNodeMemory | ( | ) | [protected] |
Short description.
Short description.
RetrieveSw |
xbShort xbNdx::KeyExists | ( | const char * | Key | ) | [inline] |
xbNdxNodeLink * xbNdx::LeftSiblingHasSpace | ( | xbNdxNodeLink * | n | ) | [protected] |
Short description.
n |
xbShort xbNdx::MoveToLeftNode | ( | xbNdxNodeLink * | n, | |
xbNdxNodeLink * | Left | |||
) | [protected] |
Short description.
n | ||
Left |
xbShort xbNdx::MoveToRightNode | ( | xbNdxNodeLink * | n, | |
xbNdxNodeLink * | Right | |||
) | [protected] |
Short description.
n | ||
Right |
void xbNdx::ProcessDeleteList | ( | void | ) | [protected] |
Short description.
xbShort xbNdx::PutDbfNo | ( | xbShort | RecNo, | |
xbNdxNodeLink * | n, | |||
xbLong | DbfNo | |||
) | [protected] |
Short description.
RecNo | ||
n | ||
DbfNo |
xbShort xbNdx::PutHeadNode | ( | xbNdxHeadNode * | Head, | |
FILE * | f, | |||
xbShort | UpdateOnly | |||
) | [protected] |
Short description.
Head | ||
f | ||
UpdateOnly |
xbShort xbNdx::PutKeyData | ( | xbShort | RecNo, | |
xbNdxNodeLink * | n | |||
) | [protected] |
Short description.
RecNo | ||
n |
xbShort xbNdx::PutKeyInNode | ( | xbNdxNodeLink * | n, | |
xbShort | pos, | |||
xbLong | d, | |||
xbLong | l, | |||
xbShort | w | |||
) | [protected] |
Short description.
n | ||
pos | ||
d | ||
l | ||
w |
xbShort xbNdx::PutLeafNode | ( | xbLong | l, | |
xbNdxNodeLink * | n | |||
) | [protected] |
Short description.
l | ||
n |
xbShort xbNdx::PutLeftNodeNo | ( | xbShort | RecNo, | |
xbNdxNodeLink * | n, | |||
xbLong | NodeNo | |||
) | [protected] |
Short description.
RecNo | ||
n | ||
NodeNo |
void xbNdx::ReleaseNodeMemory | ( | xbNdxNodeLink * | n, | |
xbBool | doFree = false | |||
) | [protected] |
Short description.
n |
xbShort xbNdx::RemoveFromIxList | ( | ) | [protected] |
xbShort xbNdx::RemoveKeyFromNode | ( | xbShort | pos, | |
xbNdxNodeLink * | n | |||
) | [protected] |
Short description.
pos | ||
n |
xbNdxNodeLink * xbNdx::RightSiblingHasSpace | ( | xbNdxNodeLink * | n | ) | [protected] |
Short description.
n |
void xbNdx::SetNodeSize | ( | xbShort | size | ) | [virtual] |
xbShort xbNdx::SplitINode | ( | xbNdxNodeLink * | nodeToSplit, | |
xbNdxNodeLink * | newNode, | |||
xbLong | dscNodeNo | |||
) | [protected] |
Short description.
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.
curNode | Current Node | |
newNode | New Empty Node | |
pos | Position of new key in current node | |
d | dbf record number |
void xbNdx::UpdateDeleteList | ( | xbNdxNodeLink * | n | ) | [protected] |
Short description.
n |
xbShort xbNdx::UpdateParentKey | ( | xbNdxNodeLink * | n | ) | [protected] |
Short description.
n |
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] |