X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fstatic_sequence.cpp;h=e97a1120ddcbb4a4b40a535ff82b8f024fb0c3dd;hb=a9846746dc7a55764591fcc273fd48c6049df962;hp=0ba5c2a15940a281f74dac73624369b897f22d38;hpb=efe894650813a19a0e1408eb5807e59f037afc3b;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/static_sequence.cpp b/libcds/src/static_sequence/static_sequence.cpp index 0ba5c2a..e97a112 100644 --- a/libcds/src/static_sequence/static_sequence.cpp +++ b/libcds/src/static_sequence/static_sequence.cpp @@ -25,12 +25,19 @@ static_sequence::static_sequence() {} static_sequence::~static_sequence() {} uint static_sequence::length() { return len; } +uint static_sequence::count(uint s) { + return rank(s,len-1); +} + static_sequence * static_sequence::load(FILE * fp) { uint rd; if(fread(&rd,sizeof(uint),1,fp)!=1) return NULL; fseek(fp,-sizeof(uint),SEEK_CUR); switch(rd) { case WVTREE_HDR: return static_sequence_wvtree::load(fp); + case GMR_CHUNK_HDR: return static_sequence_gmr_chunk::load(fp); + case GMR_HDR: return static_sequence_gmr::load(fp); + case WVTREE_NOPTRS_HDR: return static_sequence_wvtree_noptrs::load(fp); } return NULL; }