]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - src/clave_variable.cpp
65347640bfc573d3f69c3589d5d824ed5e6fd811
[z.facultad/75.52/treemulator.git] / src / clave_variable.cpp
1
2 #include <string>
3 #include "clave_variable.h"
4 #include <iostream>
5
6 ClaveVariable::ClaveVariable (const std::string &s)
7 {
8         data = s;
9 }
10
11 ClaveVariable::ClaveVariable (uchar *n)
12 {
13         uint len;
14
15         memcpy (&len, n, sizeof (uint));
16         uchar *str = new uchar[len+1];
17         n += sizeof (uint);
18         memcpy (str, n, sizeof (uchar)*len);
19         str[len] = '\0';
20         data = std::string ((const char *)(str));
21         std::cout << "CREE : " << data << std::endl;
22         delete [] str;
23 }
24
25 uint ClaveVariable::Size () const
26 {
27         return data.size ()+sizeof (uint);
28 }
29
30 uchar *ClaveVariable::ToArray () const
31 {
32         uchar *out;
33         uint len = data.size ();
34         out = new uchar[Size ()];
35         memcpy (out, &len, sizeof (uint));
36         memcpy (out+sizeof(uint), data.c_str (), data.size ());
37         return out;
38 }
39
40 Clave *ClaveVariable::Clone () const
41 {
42         ClaveVariable *k = new ClaveVariable (*this);
43         return k;
44 }
45
46 bool ClaveVariable::operator < (const Clave &c) const
47 {
48         return data < ((ClaveVariable&)c).data;
49 }
50
51 bool ClaveVariable::operator == (const Clave &c) const
52 {
53         return data == ((ClaveVariable&)c).data;
54 }
55