f8944d448ac034afbcf83f5210d642798a68d987
[SXSI/XMLTree.git] / libcds / src / static_bitsequence / static_bitsequence_sdarray.h
1
2 #ifndef _STATIC_BITSEQUENCE_SDARRAY_H
3 #define _STATIC_BITSEQUENCE_SDARRAY_H
4
5 #include <basics.h>
6 #include <static_bitsequence.h>
7 #include <sdarray.h>
8
9 class static_bitsequence_sdarray: public static_bitsequence {
10         public:
11                 static_bitsequence_sdarray(uint * buff, uint len);
12                 virtual ~static_bitsequence_sdarray();
13                 virtual uint select1(uint i);
14                 virtual uint rank1(uint i);
15                 virtual uint select_next1(uint i);
16                 virtual uint size();
17                 virtual int save(FILE * fp);
18                 static static_bitsequence_sdarray * load(FILE * fp);
19
20                 uint select_next1_unsafe(uint i){
21                         return selects3_selectnext(&sd,i);      
22                 };
23         protected:
24                 selects3 sd;
25                 static_bitsequence_sdarray();
26
27 };
28
29 #endif
30