SLikeNet 0.1.3

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DS_HuffmanEncodingTreeFactory.h
Go to the documentation of this file.
1 /*
2 * Original work: Copyright (c) 2014, Oculus VR, Inc.
3 * All rights reserved.
4 *
5 * This source code is licensed under the BSD-style license found in the
6 * RakNet License.txt file in the licenses directory of this source tree. An additional grant
7 * of patent rights can be found in the RakNet Patents.txt file in the same directory.
8 *
9 *
10 * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
11 *
12 * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
13 * license found in the license.txt file in the root directory of this source tree.
14 */
15
20
21
22 #ifndef __HUFFMAN_ENCODING_TREE_FACTORY
23 #define __HUFFMAN_ENCODING_TREE_FACTORY
24
25 #include "memoryoverride.h"
26
27 namespace SLNet {
29 class HuffmanEncodingTree;
30
33 class HuffmanEncodingTreeFactory
34 {
35 public:
37 HuffmanEncodingTreeFactory();
38
41 void Reset( void );
42
46 void AddToFrequencyTable( unsigned char *array, int size );
47
50 void GetFrequencyTable( unsigned int _frequency[ 256 ] );
51
54 unsigned int * GetFrequencyTable( void );
55
59 HuffmanEncodingTree * GenerateTree( void );
60
61 private:
62
64 unsigned int frequency[ 256 ];
65 };
66
67 } // namespace SLNet
68
69 #endif