HuffmanEncodingTree Class Reference

This generates special cases of the huffman encoding tree using 8 bit keys with the additional condition that unused combinations of 8 bits are treated as a frequency of 1. More...

#include <HuffmanEncodingTree.h>

List of all members.

Public Member Functions

void EncodeArray (unsigned char *input, int sizeInBytes, RakNet::BitStream *output)
int DecodeArray (RakNet::BitStream *input, int sizeInBits, int maxCharsToWrite, unsigned char *output)
void DecodeArray (unsigned char *input, int sizeInBits, RakNet::BitStream *output)
void GenerateFromFrequencyTable (unsigned int frequencyTable[256])
 Given a frequency table of 256 elements, all with a frequency of 1 or more, generate the tree.
void FreeMemory (void)
 Free the memory used by the tree.

Private Member Functions

void InsertNodeIntoSortedList (HuffmanEncodingTreeNode *node, BasicDataStructures::LinkedList< HuffmanEncodingTreeNode * > *huffmanEncodingTreeNodeList) const

Private Attributes

HuffmanEncodingTreeNode * root
 The root node of the tree.
CharacterEncoding encodingTable [256]

Classes

struct  CharacterEncoding
 Used to hold bit encoding for one character. More...


Detailed Description

This generates special cases of the huffman encoding tree using 8 bit keys with the additional condition that unused combinations of 8 bits are treated as a frequency of 1.


Member Function Documentation

void HuffmanEncodingTree::EncodeArray unsigned char *  input,
int  sizeInBytes,
RakNet::BitStream output
 

Pass an array of bytes to array and a preallocated BitStream to receive the output

Parameters:
[in] input Array of bytes to encode
[in] sizeInBytes size of input
[out] output The bitstream to write to


The documentation for this class was generated from the following files:
Generated on Wed Apr 19 22:58:43 2006 for RakNet by  doxygen 1.4.6-NO