X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_sequence%2Fwt_coder_binary.h;h=1df2cbe690bae7122d70eac3d0f19669b6f87225;hb=f32808a35be7a1e62830a5972473178014fa44e5;hp=e7842812f2b762a7adb1dc331eafef086e09532a;hpb=0bf9688e2615a9fc07860c5762240e4ce26ee5d3;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_sequence/wt_coder_binary.h b/libcds/src/static_sequence/wt_coder_binary.h index e784281..1df2cbe 100644 --- a/libcds/src/static_sequence/wt_coder_binary.h +++ b/libcds/src/static_sequence/wt_coder_binary.h @@ -1,3 +1,24 @@ +/* wt_coder_binary.h + * Copyright (C) 2008, Francisco Claude, all rights reserved. + * + * wt_coder_binary definition + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + #ifndef wt_coder_binary_h #define wt_coder_binary_h @@ -6,15 +27,26 @@ #include #include +/** Considers the binary representation of the symbols as the code + * + * @author Francisco Claude + */ class wt_coder_binary: public wt_coder { public: + /** Buils a wt_coder_binary using the sequence of length n and the alphabet_mapper + * to determine the length of the binary codes */ wt_coder_binary(uint * seq, uint n, alphabet_mapper * am); + wt_coder_binary(uchar * seq, uint n, alphabet_mapper * am); virtual ~wt_coder_binary(); virtual bool is_set(uint symbol, uint l); virtual bool done(uint symbol, uint l); + virtual uint depth() { return h; } virtual uint size(); + virtual uint save(FILE *fp); + static wt_coder_binary * load(FILE *fp); protected: + wt_coder_binary(); uint h; };