]> git.llucax.com Git - z.facultad/75.52/treemulator.git/commitdiff
Agrego operadores a las claves
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Wed, 14 Sep 2005 04:33:05 +0000 (04:33 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Wed, 14 Sep 2005 04:33:05 +0000 (04:33 +0000)
src/clave.h
src/clave_fija.cpp
src/clave_fija.h

index be75a7ce90fd699ed9efc46f9a3a8bc3d2fb19eb..18afab709dacb578eacc33624f44d7867847bddd 100644 (file)
@@ -4,6 +4,7 @@
 
 /* Clave para agregar a un arbol B */
 #include "common.h"
 
 /* Clave para agregar a un arbol B */
 #include "common.h"
+#include <string>
 
 class Clave {
        public:
 
 class Clave {
        public:
@@ -12,6 +13,9 @@ class Clave {
                virtual uint Size () const = 0;
                virtual uchar *ToArray () const = 0;
                virtual Clave *Clone () const = 0;
                virtual uint Size () const = 0;
                virtual uchar *ToArray () const = 0;
                virtual Clave *Clone () const = 0;
+
+               virtual bool operator < (const Clave &k) const = 0;
+               virtual operator std::string () const = 0;
 };
 
 #endif
 };
 
 #endif
index 67edc4c85512d6adeaf8b4ca44ab0bc3f08233b0..5a547eb31078b7a2b01d4fea93d2c7e661129ca0 100644 (file)
@@ -31,3 +31,8 @@ Clave *ClaveFija::Clone () const
        return k;
 }
 
        return k;
 }
 
+bool ClaveFija::operator < (const Clave &c) const
+{
+       return data < ((ClaveFija&)c).data;
+}
+
index 280f24b588458e04ef49bd0feac7e02f33704d86..599793167fdbecc9298de8338455739408c646e5 100644 (file)
@@ -3,6 +3,8 @@
 #define _CLAVE_FIJA_H_
 
 #include "clave.h"
 #define _CLAVE_FIJA_H_
 
 #include "clave.h"
+#include <string>
+#include <sstream>
 
 class ClaveFija : public Clave {
        public :
 
 class ClaveFija : public Clave {
        public :
@@ -14,6 +16,14 @@ class ClaveFija : public Clave {
                uchar *ToArray () const;
                Clave *Clone () const;
 
                uchar *ToArray () const;
                Clave *Clone () 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;
+               }
        private:
                int data;
 };
        private:
                int data;
 };