X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fwt_node_internal.h;h=f4bb3f1b3d2b9bfed630169ddaa81cef750c7e52;hb=65d17f36ed533e22abc9dc4edee8925080d38651;hp=b39efbd54dc74e767e399837dd5c2b21867307dd;hpb=4bd816265ae88b4e1631634260384baa559f8967;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/wt_node_internal.h b/libcds/src/static_sequence/wt_node_internal.h index b39efbd..f4bb3f1 100644 --- a/libcds/src/static_sequence/wt_node_internal.h +++ b/libcds/src/static_sequence/wt_node_internal.h @@ -38,10 +38,17 @@ class wt_node_internal: public wt_node { public: wt_node_internal(uint * seq, uint n, uint l, wt_coder * c, static_bitsequence_builder * bmb); wt_node_internal(uchar * seq, uint n, uint l, wt_coder * c, static_bitsequence_builder * bmb); + wt_node_internal(uchar * seq, uint n, uint l, wt_coder * c, static_bitsequence_builder * bmb, uint, uint *); virtual ~wt_node_internal(); virtual uint rank(uint symbol, uint pos, uint level, 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 level, wt_coder * c); virtual uint access(uint pos); + virtual uint access(uint pos, uint &rank); + virtual void access(vector &result, uint i, uint j, uint min, uint max, uint l, uint pivot); + virtual void access(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_internal * load(FILE *fp);