X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fwt_node_leaf.h;h=3d5aac9fc43408355ef4e9cb35ff651baa5501f4;hb=1c40b498ddd6d66b09aff3a22b9f7ddd845250dc;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..3d5aac9 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); virtual uint select(uint symbol, uint pos, uint l, wt_coder * c); virtual uint access(uint pos); + virtual uint access(uint pos, uint &rank); + 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);