+ void SetBlockData (int i) { block_data = i; }
+ uint GetBlockData () { return block_data; }
+
+ /** Retorna el tamaño en bytes que ocupa la clave */
+ virtual uint Size () const = 0;
+ /** Retorna un array de bytes de Size() de longitud.
+ *
+ * El contenido del array es la clave en formato RAW
+ * para guardar en disco.
+ *
+ * El array debe ser liberado por el llamador.
+ */
+ virtual uchar *ToArray () const = 0;
+ virtual uchar *ToRaw (uint &size) const = 0;
+
+ /** Retorna un clon de la clave actual */
+ virtual Clave *Clone () const = 0;
+
+ virtual bool operator < (const Clave &k) const = 0;
+ virtual bool operator == (const Clave &k) const = 0;
+ virtual operator std::string () const = 0;
+ protected:
+ uint block_data;