]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - src/clave_fija.cpp
71f6f0d5d99847bb84e07a5d1922ee8faef57c28
[z.facultad/75.52/treemulator.git] / src / clave_fija.cpp
1
2 #include <string>
3 #include "clave_fija.h"
4
5 ClaveFija::ClaveFija (int n, uint bd)
6 {
7         data = n;
8         block_data = bd;
9 }
10
11 ClaveFija::ClaveFija (uchar *n)
12 {
13         memcpy (&data, n, sizeof(int));
14         memcpy (&block_data, n+sizeof(int), sizeof(int));
15 }
16
17 uint ClaveFija::Size () const
18 {
19         return sizeof (int)+sizeof(uint);
20 }
21
22 uchar *ClaveFija::ToArray () const
23 {
24         uchar *out;
25         out = new uchar[Size ()];
26         memcpy (out, &data, sizeof(int));
27         memcpy (out+sizeof (int), &block_data, sizeof(int));
28         return out;
29 }
30
31 Clave *ClaveFija::Clone () const
32 {
33         ClaveFija *k = new ClaveFija (*this);
34         return k;
35 }
36
37 bool ClaveFija::operator < (const Clave &c) const
38 {
39         return data < ((ClaveFija&)c).data;
40 }
41
42 bool ClaveFija::operator == (const Clave &c) const
43 {
44         return data == ((ClaveFija&)c).data;
45 }
46                 
47 uchar *ClaveFija::ToRaw (uint &size) const
48 {
49         size = Size ();
50         return ToArray ();
51 }
52