]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/clave_variable.h
Documentación sobre las operaciones básicas.
[z.facultad/75.52/treemulator.git] / src / clave_variable.h
index fbe501174d6f15e55cecf04438526e5d5adefe1b..224f4e0f50d111ca6b9d18ae7e4ed47cb02abb4c 100644 (file)
@@ -8,7 +8,7 @@
 
 /** Representa una clave de longitud variable.
  *
 
 /** Representa una clave de longitud variable.
  *
- *  \TODO Usar abreviaciones
+ *  \todo Usar abreviaciones
  */
 class ClaveVariable : public Clave {
        public :
  */
 class ClaveVariable : public Clave {
        public :
@@ -18,19 +18,21 @@ class ClaveVariable : public Clave {
 
                uint Size () const;
                uchar *ToArray () const;
 
                uint Size () const;
                uchar *ToArray () const;
+               uchar *ToRaw (uint &size) const;
                Clave *Clone () const;
 
                Clave *Clone () const;
 
+               bool Abrev (ClaveVariable *c);
+               bool DesAbrev (ClaveVariable *c);
+
                virtual bool operator < (const Clave &c) const;
                virtual bool operator == (const Clave &c) const;
                virtual operator std::string () const {
                virtual bool operator < (const Clave &c) const;
                virtual bool operator == (const Clave &c) const;
                virtual operator std::string () const {
-                       std::string out;
-                       std::stringstream ss;
-                       ss << data;
-                       ss >> out;
-                       return out;
+                       return data;
                }
        private:
                }
        private:
+               std::string abreviar(std::string &primera, std::string &actual, int &iguales);
                std::string data;
                std::string data;
+               std::string raw_data;
 };
 
 #endif
 };
 
 #endif