]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/clave_variable.h
tagged 1.0-pre2
[z.facultad/75.52/treemulator.git] / src / clave_variable.h
index fbe501174d6f15e55cecf04438526e5d5adefe1b..b92448b333c42d6e34dadccf06863a343956064b 100644 (file)
@@ -8,29 +8,31 @@
 
 /** Representa una clave de longitud variable.
  *
- *  \TODO Usar abreviaciones
+ *  \todo Usar abreviaciones
  */
 class ClaveVariable : public Clave {
        public :
                ClaveVariable (uchar *n);
-               ClaveVariable (const std::string &s);
+               ClaveVariable (const std::string &s, uint bd);
                virtual ~ClaveVariable () {}
 
                uint Size () const;
                uchar *ToArray () const;
+               uchar *ToRaw (uint &size) 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 {
-                       std::string out;
-                       std::stringstream ss;
-                       ss << data;
-                       ss >> out;
-                       return out;
+                       return data;
                }
        private:
+               std::string abreviar(std::string &primera, std::string &actual, int &iguales);
                std::string data;
+               std::string raw_data;
 };
 
 #endif