Fixed error: Syscall param write(buf) points to uninitialised byte(s)
[SXSI/XMLTree.git] / libcds / src / static_sequence / static_sequence_wvtree.h
index f972648..5216585 100644 (file)
@@ -46,14 +46,27 @@ class static_sequence_wvtree : public static_sequence {
      * equals n */
     static_sequence_wvtree(uint * symbols, uint n, wt_coder * coder, static_bitsequence_builder * bmb, alphabet_mapper * am);
 
+    static_sequence_wvtree(uchar * symbols, uint n, wt_coder * coder, static_bitsequence_builder * bmb, alphabet_mapper * am);
+
     virtual ~static_sequence_wvtree();
 
     virtual uint rank(uint symbol, uint pos);
+    virtual uint rankLessThan(uint &symbol, uint pos);
 
     virtual uint select(uint symbol, uint i);
 
     virtual uint access(uint pos);
+    virtual uint access(uint pos, uint &rank)
+    {
+        return root->access(pos, rank);
+    }
     
+    // Returns all elements from interval [i, j] such that 
+    // their value is in [min, max].
+    virtual vector<int> access(uint i, uint j, uint min, uint max);
+    virtual vector<int> accessAll(uint i, uint j);
+    virtual uint count(uint i, uint j, uint min, uint max);
+
     virtual uint count(uint s);
 
     virtual uint size();