#include <stdio.h> #include "btree.h" bool operator ==(uPtr u1, uPtr u2) { return (u1.offset == u2.offset); } // overloaded operator == bTree::bTree(char * filename, uInt32 nodeSize, treeTypes tt, bTreeVFS * virtualFS) { filename = filename; nodeSize = nodeSize; tt = tt; vfs = virtualFS; return; } // bTree::bTree int bTree::align(int keyLength) { return ((sizeof(uPtr) + keyLength + 7) >> 3) << 3; } // bTree::align int bTree::calcSize(TbNode * node) { int size; TbNodeData * dataNode; if (node == NULL) return 0; dataNode = &node->data; size = (int)dataNode - (int)node; for (unsigned int curNode = 1; curNode <= node->numKeys; curNode++) { size += align(keySize(&dataNode->key)); //mjikaboom dataNode += align(keySize(&dataNode->key))); } // for curNode return size; } // bTree::calcSize void bTree::InstallUserFunctions(compareKeyFunc cmpFunc, copyKeyProc copyProc, keySizeFunc ksFunc) { compareKey = cmpFunc; copyKey = copyProc; keySize = ksFunc; return; } // bTree::InstallUserFunctions bTree::~bTree(void) { return; } // bTree::~bTree