
Métodos públicos | |
| size_t | encode (ifstream &input, BitArray &bit_stream) |
| Codifica el texto input. | |
| size_t | encode (char *input, BitArray &bit_stream) |
| Codifica el texto input. | |
| BinNode< string > * | generate_huffman_tree (const bool &with_freqs=false) |
| Genera el árbol de prefijos de Huffman. | |
| Freq_Node * | get_freq_root () |
| Retorna la raíz de un árbol de frecuencias. | |
| BinNode< string > * | get_root () |
| Retorna la raíz del árbol decodificador de Huffman. | |
| Huffman_Encoder_Engine () | |
| Constructor de codificador. | |
| void | read_input (ifstream &input, const bool &with_freqs=false) |
| Lee un archivo, contabiliza las frecuencias de sus distintos símbolos y genera el árbol binario de prefijos. | |
| void | read_input (char *input, const bool &with_freqs=false) |
| Lee una cadena caracteres, contabiliza las frecuencias de sus distintos símbolos y genera el árbol binario de prefijos. | |
| void | set_end_of_stream (const string &str) |
| Define el símbolo fin de entrada. | |
| void | set_freq (const string &str, const size_t &freq) |
| Define la frecuencia de aparición de un símbolo. | |
Definición en la línea 111 del archivo Huffman.H.
| size_t encode | ( | ifstream & | input, | |
| BitArray & | bit_stream | |||
| ) | [inline] |
encode(input,bit_stream) lee la entrada input, la codifica y escribe el texto codificado en el arreglo de bits bit_stream.
| [in] | input | archivo con los caracteres del texto a codificar. |
| [out] | bit_stream | el arreglo de bits donde escribir el texto codificado. |
| domain_error | si el árbol de prefijos no ha sido generado mediante el método generate_huffman_tree() |
| size_t encode | ( | char * | input, | |
| BitArray & | bit_stream | |||
| ) | [inline] |
encode(input,bit_stream) lee la entrada input, la codifica y escribe el texto codificado en el arreglo de bits bit_stream.
| [in] | input | cadena de caracteres contentiva del texto a codificar. |
| [out] | bit_stream | el arreglo de bits donde escribir el texto codificado. |
| domain_error | si el árbol de prefijos no ha sido generado mediante el método generate_huffman_tree() |
| BinNode<string>* generate_huffman_tree | ( | const bool & | with_freqs = false |
) | [inline] |
generate_huffman_tree(with_freqs) ejecuta el algoritmo de Huffman para generar el árbol de prefijos en función del texto leído. Si with_freqs es true, entonces los nodos del árbol generado contienen las frecuencias de aparición de los símbolos.
| [in] | with_freqs | si el valor es true, entonces los nodos del árbol generado contendrán las frecuencias de aparición de los símbolos. De lo contrario, el árbol sólo contiene los símbolos. |
| bad_alloc | si no hay suficiente memoria. |
Definición en la línea 241 del archivo Huffman.H.
Hace referencia a BinNode::get_key(), GenBinHeap::getMin(), GenBinHeap::insert(), LLINK, RLINK, y GenBinHeap::size().
Referenciado por Huffman_Encoder_Engine::read_input().
| void read_input | ( | ifstream & | input, | |
| const bool & | with_freqs = false | |||
| ) | [inline] |
read_input(input, with_freqs) lee el archivo de entrada input, contabiliza las frecuencias de aparición de cada símbolo y finalmente genera el árbol binario de prefijos.
| [in] | input | archivo contentivo de los caracteres a codificar. |
| [in] | with_freqs | si el valor es true, entonces también se genera el árbol de prefijos con las frecuencias en cada símbolo. |
| bad_alloc | si no hay suficiente memoria. |
Definición en la línea 418 del archivo Huffman.H.
Hace referencia a Huffman_Encoder_Engine::generate_huffman_tree(), y Huffman_Encoder_Engine::set_end_of_stream().
| void read_input | ( | char * | input, | |
| const bool & | with_freqs = false | |||
| ) | [inline] |
read_input(input, with_freqs) lee la cadena de caracteres input, contabiliza las frecuencias de aparición de cada símbolo y finalmente genera el árbol binario de prefijos.
| [in] | input | cadena de caracteres a codificar. |
| [in] | with_freqs | si el valor es true, entonces también se genera el árbol de prefijos con las frecuencias en cada símbolo. |
| bad_alloc | si no hay suficiente memoria. |
Definición en la línea 381 del archivo Huffman.H.
Hace referencia a Huffman_Encoder_Engine::generate_huffman_tree(), y Huffman_Encoder_Engine::set_end_of_stream().
| void set_freq | ( | const string & | str, | |
| const size_t & | freq | |||
| ) | [inline] |
set_freq(str, freq) instruye al codificador que al símbolo str se le asocia una frecuencia de aparición freq.
| [in] | str | símbolo. |
| [in] | freq | frecuencia del símbolo |
| bad_alloc | si no hay suficiente memoria. |
Definición en la línea 333 del archivo Huffman.H.
Hace referencia a GenBinHeap::insert().