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