]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree_data.h
Split de nodos
[z.facultad/75.52/treemulator.git] / src / btree_data.h
index 141db7f7166750c31e57ea8d751e308d63b668f6..44a3a775884ca79770308185843d5cb5f3e5275f 100644 (file)
 /** Dato a guardar en los nodos */
 class BTreeData {
        public:
+               BTreeData () { clave = NULL; }
                BTreeData (uchar *node);
                virtual ~BTreeData ();
 
                virtual uint Size ();
                virtual uchar *ToArray ();
+
+               Clave* getClave () { return clave; }
+
+               bool operator < (const BTreeData &data) const;
+               virtual operator std::string () const {
+                       if (clave) {
+                               return (*clave);
+                       }
+                       return "NoKey";
+               }
        protected:
                Clave *clave;
                uint hijo;
 };
 
 /** Dato a guardar en las hojas */
-class BTreeLeafData:BTreeData {
+class BTreeLeafData:public BTreeData {
        public:
+               BTreeLeafData (Clave *k):BTreeData () { clave = k; }
+               BTreeLeafData (uchar *node) { clave = new ClaveFija (node); }
                virtual ~BTreeLeafData ();
 
                virtual uint Size ();