X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fwt_node_leaf.h;h=0f5e5aa0d645a1508967c4d8049ce0dc43aa5dc0;hb=3d052e0d8f4d581503b9fe53e956b3fc25b0764a;hp=b8ff85e9ce606c0221f3fecbb3dce1e0fc3df984;hpb=450ba3c9c74665094fb8f6821d6cc92d2bf23011;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/wt_node_leaf.h b/libcds/src/static_sequence/wt_node_leaf.h index b8ff85e..0f5e5aa 100644 --- a/libcds/src/static_sequence/wt_node_leaf.h +++ b/libcds/src/static_sequence/wt_node_leaf.h @@ -26,6 +26,7 @@ #include #include #include +#include /** Class for representing leaves of the wavelet tree. * @@ -36,8 +37,13 @@ class wt_node_leaf: public wt_node { wt_node_leaf(uint symbol, uint count); virtual ~wt_node_leaf(); virtual uint rank(uint symbol, uint pos, uint l, wt_coder * c); + virtual uint rankLessThan(uint &symbol, uint pos, uint level, wt_coder * c); + virtual uint rankLessThan(uint &symbol, uint pos); virtual uint select(uint symbol, uint pos, uint l, wt_coder * c); virtual uint access(uint pos); + virtual void access(std::vector &result, uint i, uint j, uint min, uint max, uint l, uint pivot); + virtual void access(std::vector &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_leaf * load(FILE *fp);