+void BTree::AddKey (const Clave &k)
+{
+ std::list<Clave *> node_keys;
+
+ /* Leo el nodo raiz para empezar a agregar */
+ uchar *root = ReadBlock (0);
+ BTreeNodeHeader root_header;
+ ReadNodoHeader (root, &root_header);
+
+ node_keys = ReadKeys (root, root_header);
+ std::cout << node_keys.size () << std::endl;
+
+ if (root_header.free_space >= k.Size ()) {
+ std::cout << "Hay lugar para meter la clave" << std::endl;
+ } else {
+ std::cout << "__NO__ hay lugar para meter la clave" << std::endl;
+ }
+
+
+ WriteKeys (root, root_header, node_keys);
+ WriteNodoHeader (root, &root_header);
+ write_block (root, 0);
+
+ delete [] root;
+}
+
+void BTree::DelKey (const Clave &k) {}
+
+void BTree::ReadNodoHeader (uchar *node, BTreeNodeHeader *header)
+{
+ memcpy (header, node, sizeof (BTreeNodeHeader));
+}
+
+void BTree::WriteNodoHeader (uchar *node, BTreeNodeHeader *header)
+{
+ memcpy (node, header, sizeof (BTreeNodeHeader));
+}