#include "common.h"
#include "clave.h"
#include "clave_fija.h"
+#include "btree_data.h"
/* alias para codear menos :) */
void AddKey (const Clave &k);
void DelKey (const Clave &k);
- private:
- void write_tree_header ();
- void write_block (uchar *block, uint num);
+ 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);
+ uchar *NewBlock (uint &num);
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;
* \TODO Ver si vale la pena
*/
FILE *fp;
+
+
+ /* DEBUG */
+ void PrintNode (uint num);
};
#endif // _B_TREE_H