]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree.h
Más Parametrizable la creación del árbol.
[z.facultad/75.52/treemulator.git] / src / btree.h
index b001befdda321972619f2c0ce9bb54e213300faa..999d7987439274d58bce11bfa26ee854314e471b 100644 (file)
@@ -92,17 +92,20 @@ class BTree {
                void AddKey (const Clave &k);
                void DelKey (const Clave &k);
 
                void AddKey (const Clave &k);
                void DelKey (const Clave &k);
 
-       private:
+       protected:
+               Clave* AddKeyR (const Clave *k, uint node_num, uint &left_child, uint &right_child);
+
                void WriteFileHeader ();
 
                void WriteBlock (uchar *block, uint num);
                uchar *ReadBlock (uint num);
                void WriteFileHeader ();
 
                void WriteBlock (uchar *block, uint num);
                uchar *ReadBlock (uint num);
+               uchar *NewBlock (uint &num);
 
                void ReadNodoHeader (uchar *node, BTreeNodeHeader *header);
                void WriteNodoHeader (uchar *node, BTreeNodeHeader *header);
 
 
                void ReadNodoHeader (uchar *node, BTreeNodeHeader *header);
                void WriteNodoHeader (uchar *node, BTreeNodeHeader *header);
 
-               std::list<Clave *> ReadKeys (uchar *node, BTreeNodeHeader &node_header);
-               void WriteKeys (uchar *node, BTreeNodeHeader &node_header, std::list<Clave *> &keys);
+               std::list<BTreeData *> ReadKeys (uchar *node, BTreeNodeHeader &node_header);
+               void WriteKeys (uchar *node, BTreeNodeHeader &node_header, std::list<BTreeData *> &keys);
 
                std::string filename;
                BTreeFileHeader header;
 
                std::string filename;
                BTreeFileHeader header;
@@ -112,6 +115,10 @@ class BTree {
                 *  \TODO Ver si vale la pena
                 */
                FILE *fp;
                 *  \TODO Ver si vale la pena
                 */
                FILE *fp;
+
+
+               /* DEBUG */
+               void PrintNode (uint num);
 };
 
 #endif // _B_TREE_H
 };
 
 #endif // _B_TREE_H