]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree.h
Paso el block_data a BTree en lugar de Clave.
[z.facultad/75.52/treemulator.git] / src / btree.h
index 5d05ae43226c6550642c56fe8c5c37ad515638da..6feb5a8e3b700026d9d5bdafaadc97f073c5f5a9 100644 (file)
  */
 struct BTreeFileHeader {
        uint block_size;
+       int tree_type;
+       int key_type;
 };
 
 /** Encabezado de un bloque */
@@ -247,6 +249,8 @@ struct BTreeFindResult {
 class BTree {
        public:
                BTree (const std::string &filename, unsigned int block_size, int t_t = TYPE_IDENTIFICACION, int k_t = KEY_FIXED, bool create_new_file = false);
+               BTree (const std::string &filename);
+
                ~BTree ();
 
                /** Tipos de clave a usar */
@@ -292,6 +296,7 @@ class BTree {
 
                /* Funciones de manejo de archivo */
                void WriteFileHeader ();
+               void ReadFileHeader ();
 
                /* Manejo de Bloques */
                void WriteBlock (uchar *block, uint num);
@@ -313,14 +318,13 @@ class BTree {
 
                std::string filename;
                BTreeFileHeader header;
-               int key_type;
-               int tree_type;
 
                /** Apunta al archivo de datos, asi se abre solo 1 vez
                 *
                 *  \todo Ver si vale la pena
                 */
                FILE *fp;
+               std::list<uint> deleted_nodes;
 
 
                /* DEBUG */