+bool BTreeData::operator < (const BTreeData &data) const
+{
+ if (!data.clave) return false;
+
+ return (*clave) < (*(data.clave));
+}
+
+bool BTreeData::operator == (const BTreeData &data) const
+{
+ if (!data.clave) return false;
+
+ return (*clave) == (*(data.clave));
+}
+
+bool BTreeData::Abrev (BTreeData *anterior)
+{
+ if (anterior == NULL) return false;
+
+ ClaveVariable *c = (ClaveVariable *)clave;
+ return c->Abrev (dynamic_cast<ClaveVariable *>(anterior->GetKey ()));
+}
+
+bool BTreeData::DesAbrev (BTreeData *anterior)
+{
+ if (anterior == NULL) return false;
+
+ ClaveVariable *c = (ClaveVariable *)clave;
+ return c->DesAbrev (dynamic_cast<ClaveVariable *>(anterior->GetKey ()));
+}
+
+BTreeLeafData::BTreeLeafData (uchar *node, int key_type)
+{
+ hijo = 0;
+ if (key_type == BTree::KEY_FIXED)
+ clave = new ClaveFija (node);
+ else
+ clave = new ClaveVariable (node);
+}
+