]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - src/btree_data.cpp
27825d7aeb14405fce771c8c311b19c6660a486d
[z.facultad/75.52/treemulator.git] / src / btree_data.cpp
1
2 #include "btree_data.h"
3
4 BTreeData::BTreeData (uchar *node)
5 {
6         /* TODO : Aca deberia detectar el tipo de clave (necesito
7          * info desde el arbol
8          */
9         clave = new ClaveFija (node);
10         node += clave->Size ();
11
12         memcpy (&hijo, node, sizeof (uint));
13 }
14
15 BTreeData::~BTreeData ()
16 {
17 }
18
19 uint BTreeData::Size ()
20 {
21         uint s = sizeof (uint);
22         if (clave) s += clave->Size ();
23
24         return s;
25 }
26
27 uchar* BTreeData::ToArray ()
28 {
29         uchar *out = new uchar[Size()];
30         memcpy (out, clave->ToArray (), clave->Size ());
31         memcpy (out+clave->Size (), &hijo, sizeof (uint));
32         return out;
33 }
34
35 BTreeLeafData::~BTreeLeafData ()
36 {
37 }
38
39 uint BTreeLeafData::Size ()
40 {
41         return clave->Size ();
42 }
43
44 uchar* BTreeLeafData::ToArray ()
45 {
46         return clave->ToArray ();
47 }