X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fwt_node_leaf.h;h=3d5aac9fc43408355ef4e9cb35ff651baa5501f4;hb=f32808a35be7a1e62830a5972473178014fa44e5;hp=39f02d149b5212a0867519af0f53ac2c13a776ec;hpb=a01a06472c8dcf1c58a8d87e6b93eb709b921d0e;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 39f02d1..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,10 +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 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);