Initial import of XMLTree
[SXSI/XMLTree.git] / libcds / src / static_sequence / wt_coder_huff.h
1
2 #ifndef wt_coder_huff_h
3 #define wt_coder_huff_h
4
5 #include <basics.h>
6 #include <wt_coder.h>
7 #include <huffman_codes.h>
8 #include <alphabet_mapper.h>
9
10 class wt_coder_huff: public wt_coder {
11         public:
12                 wt_coder_huff(uint *symbs, uint n, alphabet_mapper * am);
13                 virtual ~wt_coder_huff();
14                 virtual bool is_set(uint symbol, uint l);
15                 virtual bool done(uint symbol, uint l);
16     virtual uint size();
17     virtual uint save(FILE *fp);
18     static wt_coder_huff * load(FILE *fp);
19     uint * get_buffer(uint symbol, uint *n);
20
21         protected:
22     wt_coder_huff();
23                 huffman_codes * hc;
24     uint * buffer;
25     uint last_symbol, s_len;
26 };
27
28 #endif
29