Backport changes from the grammar branch
[SXSI/XMLTree.git] / libcds / src / static_sequence / wt_node_internal.h
index 7d9dad6..f649de4 100644 (file)
@@ -29,6 +29,7 @@
 #include <static_bitsequence.h>
 #include <static_bitsequence_builder.h>
 #include <cassert>
+using std::vector;
 
 /** Clase for representing internal nodes  
  * 
 class wt_node_internal: public wt_node {
        public:
                wt_node_internal(uint * seq, uint n, uint l, wt_coder * c, static_bitsequence_builder * bmb);
+               wt_node_internal(uchar * seq, uint n, uint l, wt_coder * c, static_bitsequence_builder * bmb, uint, uint *);
                virtual ~wt_node_internal();
                virtual uint rank(uint symbol, uint pos, uint level, wt_coder * c);
+               virtual uint rankLessThan(uint &symbol, uint pos);
                virtual uint select(uint symbol, uint pos, uint level, wt_coder * c);
                virtual uint access(uint pos);
+                virtual uint access(uint pos, uint &rank);
+                virtual void access(vector<int> &result, uint i, uint j, uint min, uint max, uint l, uint pivot);
+                virtual void access(vector<int> &result, uint i, uint j);
+                virtual uint access(uint i, uint j, uint min, uint max, uint l, uint pivot);
                virtual uint size();
     virtual uint save(FILE *fp);
     static wt_node_internal * load(FILE *fp);