Referencia de la Clase Huffman_Encoder_Engine
[Árboles con raíz]

Codificador de Huffman. Más...

Diagrama de colaboración para Huffman_Encoder_Engine:

Collaboration graph
[leyenda]

Lista de todos los miembros.

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_Nodeget_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.


Descripción detallada

Ver también:
Huffman_Decoder_Engine

Definición en la línea 111 del archivo Huffman.H.


Documentación de las funciones miembro

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.

Parámetros:
[in] input archivo con los caracteres del texto a codificar.
[out] bit_stream el arreglo de bits donde escribir el texto codificado.
Devuelve:
la longitu de total del texto codificado.
Excepciones:
domain_error si el árbol de prefijos no ha sido generado mediante el método generate_huffman_tree()

Definición en la línea 508 del archivo Huffman.H.

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.

Parámetros:
[in] input cadena de caracteres contentiva del texto a codificar.
[out] bit_stream el arreglo de bits donde escribir el texto codificado.
Devuelve:
la longitu de total del texto codificado.
Excepciones:
domain_error si el árbol de prefijos no ha sido generado mediante el método generate_huffman_tree()

Definición en la línea 471 del archivo Huffman.H.

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.

Parámetros:
[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.
Devuelve:
la raíz del árbol binario de prefijos. Este árbol binario es el decodificador y es entrada de la clase Huffman_Decoder_Engine.
Excepciones:
bad_alloc si no hay suficiente memoria.
Ver también:
build_prefix_encoding Huffman_Decoder_Engine

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.

Parámetros:
[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.
Excepciones:
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.

Parámetros:
[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.
Excepciones:
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.

Parámetros:
[in] str símbolo.
[in] freq frecuencia del símbolo
Excepciones:
bad_alloc si no hay suficiente memoria.

Definición en la línea 333 del archivo Huffman.H.

Hace referencia a GenBinHeap::insert().


La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro R. León