]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree.h
Cerrando el ciclo de llenar una hoja
[z.facultad/75.52/treemulator.git] / src / btree.h
index 95180b0386f5290862154edac458549cb0fa8d80..467ed6fe3f3a68b3f3a44ca6aa36ac9a93c663c9 100644 (file)
@@ -50,6 +50,7 @@
 #include "common.h"
 #include "clave.h"
 #include "clave_fija.h"
 #include "common.h"
 #include "clave.h"
 #include "clave_fija.h"
+#include "btree_data.h"
 
 /* alias para codear menos :) */
 
 
 /* alias para codear menos :) */
 
@@ -92,15 +93,18 @@ class BTree {
                void DelKey (const Clave &k);
 
        private:
                void DelKey (const Clave &k);
 
        private:
-               void write_tree_header ();
-               void write_block (uchar *block, uint num);
+               Clave* AddKeyR (const Clave *k, uint node_num);
 
 
+               void WriteFileHeader ();
+
+               void WriteBlock (uchar *block, uint num);
                uchar *ReadBlock (uint num);
 
                void ReadNodoHeader (uchar *node, BTreeNodeHeader *header);
                void WriteNodoHeader (uchar *node, BTreeNodeHeader *header);
 
                uchar *ReadBlock (uint num);
 
                void ReadNodoHeader (uchar *node, BTreeNodeHeader *header);
                void WriteNodoHeader (uchar *node, BTreeNodeHeader *header);
 
-               std::list<Clave *> ReadKeys (uchar *node, BTreeNodeHeader &node_header);
+               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;