File: HuffmanCoder.H

package info (click to toggle)
dxpc 3.8.0-1
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 672 kB
  • ctags: 780
  • sloc: cpp: 10,145; sh: 173; makefile: 88
file content (27 lines) | stat: -rw-r--r-- 537 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef HuffmanCoder_H
#define HuffmanCoder_H


class EncodeBuffer;
class DecodeBuffer;

class EncodeNode;

class HuffmanCoder
{
 public:
  HuffmanCoder(unsigned int histogramLength, const unsigned int *histogram,
	       unsigned int overflowCount = 0);
  HuffmanCoder(unsigned int numCodes, const char **codes);
  ~HuffmanCoder();

  void encode(unsigned int value, EncodeBuffer&);
  unsigned int decode(DecodeBuffer&);

 private:
  EncodeNode* root_;
  unsigned int numTokens_;
  EncodeNode** tokens_;
};

#endif /* HuffmanCoder_H */