8 /** Clase abstracta para manejo de Claves */
13 void SetBlockData (int i) { block_data = i; }
14 uint GetBlockData () { return block_data; }
16 /** Retorna el tamaño en bytes que ocupa la clave */
17 virtual uint Size () const = 0;
18 /** Retorna un array de bytes de Size() de longitud.
20 * El contenido del array es la clave en formato RAW
21 * para guardar en disco.
23 * El array debe ser liberado por el llamador.
25 virtual uchar *ToArray () const = 0;
26 virtual uchar *ToRaw (uint &size) const = 0;
28 /** Retorna un clon de la clave actual */
29 virtual Clave *Clone () const = 0;
31 virtual bool operator < (const Clave &k) const = 0;
32 virtual bool operator == (const Clave &k) const = 0;
33 virtual operator std::string () const = 0;