X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fstatic_bitsequence%2Fstatic_bitsequence_sdarray.h;fp=src%2Fstatic_bitsequence%2Fstatic_bitsequence_sdarray.h;h=f8944d448ac034afbcf83f5210d642798a68d987;hb=3fd4bcef236556c7f3bff1d2be8d3f4206245501;hp=0000000000000000000000000000000000000000;hpb=dc7a566a39187bfcea70737cda7278f858cd9842;p=SXSI%2Flibcds.git diff --git a/src/static_bitsequence/static_bitsequence_sdarray.h b/src/static_bitsequence/static_bitsequence_sdarray.h new file mode 100644 index 0000000..f8944d4 --- /dev/null +++ b/src/static_bitsequence/static_bitsequence_sdarray.h @@ -0,0 +1,30 @@ + +#ifndef _STATIC_BITSEQUENCE_SDARRAY_H +#define _STATIC_BITSEQUENCE_SDARRAY_H + +#include +#include +#include + +class static_bitsequence_sdarray: public static_bitsequence { + public: + static_bitsequence_sdarray(uint * buff, uint len); + virtual ~static_bitsequence_sdarray(); + virtual uint select1(uint i); + virtual uint rank1(uint i); + virtual uint select_next1(uint i); + virtual uint size(); + virtual int save(FILE * fp); + static static_bitsequence_sdarray * load(FILE * fp); + + uint select_next1_unsafe(uint i){ + return selects3_selectnext(&sd,i); + }; + protected: + selects3 sd; + static_bitsequence_sdarray(); + +}; + +#endif +