Initial import of XMLTree
[SXSI/XMLTree.git] / libcds / src / static_sequence / wt_node_internal.h
1
2 #ifndef wt_node_internal_h
3 #define wt_node_internal_h
4
5 #include <wt_node.h>
6 #include <wt_node_leaf.h>
7 #include <wt_coder.h>
8 #include <basics.h>
9 #include <static_bitsequence.h>
10 #include <static_bitsequence_builder.h>
11 #include <cassert>
12
13 class wt_node_internal: public wt_node {
14         public:
15                 wt_node_internal(uint * seq, uint n, uint l, wt_coder * c, static_bitsequence_builder * bmb);
16                 virtual ~wt_node_internal();
17                 virtual uint rank(uint symbol, uint pos, uint level, wt_coder * c);
18                 virtual uint select(uint symbol, uint pos, uint level, wt_coder * c);
19                 virtual uint access(uint pos);
20                 virtual uint size();
21     virtual uint save(FILE *fp);
22     static wt_node_internal * load(FILE *fp);
23
24                 
25         protected:
26     wt_node_internal();
27                 wt_node *left_child, *right_child;
28                 static_bitsequence * bitmap;
29                 //uint length;
30 };
31
32 #endif
33