]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree_data.h
Documentación sobre las operaciones básicas.
[z.facultad/75.52/treemulator.git] / src / btree_data.h
index 573de741b467bcf8718232c6530ea3f0a46b15bf..b7f457ac2a903731c1bc1665c9f8675e6a164acd 100644 (file)
@@ -46,21 +46,25 @@ class BTreeData {
                virtual uchar *ToArray () const;
 
                /** Retorna la clave manejada */
                virtual uchar *ToArray () const;
 
                /** Retorna la clave manejada */
-               Clave* getClave () { return clave; }
+               Clave* GetKey () { return clave; }
+               void SetKey (Clave *k) { clave = k; }
                /** Retorna el hijo apuntado */
                /** Retorna el hijo apuntado */
-               uint getChild () { return hijo; }
+               uint GetChild () { return hijo; }
                /** Setea el hijo apuntado */
                /** Setea el hijo apuntado */
-               void setChild (uint c) { hijo = c; }
+               void SetChild (uint c) { hijo = c; }
+
+               bool Abrev (BTreeData *anterior);
+               bool DesAbrev (BTreeData *anterior);
 
                bool operator < (const BTreeData &data) const;
                bool operator == (const BTreeData &data) const;
                virtual operator std::string () const {
                        std::string out = (*clave);
                        std::stringstream ss;
 
                bool operator < (const BTreeData &data) const;
                bool operator == (const BTreeData &data) const;
                virtual operator std::string () const {
                        std::string out = (*clave);
                        std::stringstream ss;
-                       ss << "(" << out ;
+                       ss << "(";
+                       ss << out;
                        ss << ")" << "[" << hijo << "]";
                        ss << ")" << "[" << hijo << "]";
-                       ss >> out;
-                       return out;
+                       return ss.str ();
                }
        protected:
                Clave *clave;
                }
        protected:
                Clave *clave;
@@ -70,7 +74,7 @@ class BTreeData {
 /** Dato a guardar en las hojas */
 class BTreeLeafData:public BTreeData {
        public:
 /** Dato a guardar en las hojas */
 class BTreeLeafData:public BTreeData {
        public:
-               BTreeLeafData (Clave *k) { clave = k; }
+               BTreeLeafData (Clave *k) { clave = k; hijo = 0; }
                BTreeLeafData (uchar *node, int key_type);
                virtual ~BTreeLeafData ();
 
                BTreeLeafData (uchar *node, int key_type);
                virtual ~BTreeLeafData ();
 
@@ -92,6 +96,7 @@ class BTreeChildData:public BTreeData {
 
                virtual uint Size () const;
                virtual uchar *ToArray () const;
 
                virtual uint Size () const;
                virtual uchar *ToArray () const;
+               bool operator < (const BTreeData &data) const;
                virtual operator std::string () const {
                        std::string out;
                        std::stringstream ss;
                virtual operator std::string () const {
                        std::string out;
                        std::stringstream ss;