X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fstatic_sequence_wvtree.h;h=5216585320418cdd1c5e110d4730e52b0ad05e27;hb=7d4c73ab6327740b299e2fbd9bff4b2a3b82a409;hp=c67d0f8675cd25454bce80151576ac9966c114d5;hpb=4bd816265ae88b4e1631634260384baa559f8967;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/static_sequence_wvtree.h b/libcds/src/static_sequence/static_sequence_wvtree.h index c67d0f8..5216585 100644 --- a/libcds/src/static_sequence/static_sequence_wvtree.h +++ b/libcds/src/static_sequence/static_sequence_wvtree.h @@ -51,11 +51,22 @@ class static_sequence_wvtree : public static_sequence { 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 access(uint i, uint j, uint min, uint max); + virtual vector accessAll(uint i, uint j); + virtual uint count(uint i, uint j, uint min, uint max); + virtual uint count(uint s); virtual uint size();