X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Futils%2Falphabet_mapper.cpp;h=0d35530789681da4cee4e98a0e33227fa227b7a8;hb=a9846746dc7a55764591fcc273fd48c6049df962;hp=a1b8cd5ca9a468a09ffdc842fba1f48e7cf4a3b9;hpb=efe894650813a19a0e1408eb5807e59f037afc3b;p=SXSI%2FXMLTree.git diff --git a/libcds/src/utils/alphabet_mapper.cpp b/libcds/src/utils/alphabet_mapper.cpp index a1b8cd5..0d35530 100644 --- a/libcds/src/utils/alphabet_mapper.cpp +++ b/libcds/src/utils/alphabet_mapper.cpp @@ -21,12 +21,27 @@ #include +alphabet_mapper::alphabet_mapper() { + user_count=0; +} + +void alphabet_mapper::use() { + user_count++; +} + +void alphabet_mapper::unuse() { + user_count--; + if(user_count==0) + delete this; +} + alphabet_mapper * alphabet_mapper::load(FILE *fp) { uint rd; if(fread(&rd,sizeof(uint),1,fp)!=1) return NULL; fseek(fp,-1*sizeof(uint),SEEK_CUR); switch(rd) { case ALPHABET_MAPPER_NONE_HDR: return alphabet_mapper_none::load(fp); + case ALPHABET_MAPPER_CONT_HDR: return alphabet_mapper_cont::load(fp); } return NULL; }