Référence de la classe Lzw

#include <Lzw.hpp>

Graphe de collaboration de Lzw:

Collaboration graph
[légende]
Liste de tous les membres

Types publics

enum  InOutStatus { CODAGE, DECODAGE }

Fonctions membres publiques

 Lzw ()
 Lzw (ifstream *ifs, ofstream *ofs, InOutStatus iostatus)
void initDictionnaire ()
void codage ()
void decodage (unsigned long nbBitTotal)

Fonctions membres privées

bool endOfInputFlux ()
Message litMessage ()
void ecritCode (Code code)
Code litCode ()
void ecritMessages (SequenceMessages seq)

Attributs privés

InOutStatus iostatus
TBitStream * bitStream
ifstream * ifs
ofstream * ofs
Dictionnaire dico
Code SP
int tailleCode
int valMaxCode
int coutCodage

Description détaillée

Auteur:
Marc Chaumont
Date:
23 mars 2006
La classe lzw permet le codage et le décodage en utilisant l'alforithme lzw.


Documentation des énumérations membres

enum Lzw::InOutStatus
 

Valeurs énumérées:
CODAGE 
DECODAGE 


Documentation des contructeurs et destructeur

Lzw::Lzw  ) 
 

Constructeur par défaut.

Lzw::Lzw ifstream *  ifs,
ofstream *  ofs,
InOutStatus  iostatus
 

Constructeur par valeur.


Documentation des fonctions membres

void Lzw::codage  ) 
 

codage() Compression lzw.

void Lzw::decodage unsigned long  nbBitTotal  ) 
 

decodage() Decompression lzw.

void Lzw::ecritCode Code  code  )  [private]
 

ecritCode() Ecrit un code dans le flux de sortie.

Paramètres:
le code à écrire. Ce code est un indice correspond à une entrée dans le dictionnaire.
Remarque : Méthode utilisée lors de la compression.

void Lzw::ecritMessages SequenceMessages  seq  )  [private]
 

ecritMessage() Ecrit les séquences de messages dans le flux de sortie.

Paramètres:
seq : la séquence de messages à écrire.
Remarque : Méthode utilisée lors de la décompression.

bool Lzw::endOfInputFlux  )  [private]
 

endOfInputFlux() Indicateur de fin de flux des Messages (utile pour le codage : lecture des messages sur ifs).

void Lzw::initDictionnaire  ) 
 

initDictionnaire() Remplit le dictionnaire avec les messages initialement connus au codage et au décodage.

Code Lzw::litCode  )  [private]
 

litCode() Lit un code dans le flux d'entrée.

Renvoie:
le code lu dans le flux d'entrée. Ce code est un indice correspondant à une entrée dans le dictionnaire.
Remarque : Méthode utilisée lors de la décompression.

Message Lzw::litMessage  )  [private]
 

litMessage() Lit un message dans le flux d'entrée.

Remarque : Méthode utilisée lors de la compression.


Documentation des données membres

TBitStream* Lzw::bitStream [private]
 

Flux pour les Codes.

int Lzw::coutCodage [private]
 

cout de codage total en nombre de bits.

Dictionnaire Lzw::dico [private]
 

Dictionnaire contenant les séquences de messages.

ifstream* Lzw::ifs [private]
 

Flux pour les messages (iostatus == CODAGE).

InOutStatus Lzw::iostatus [private]
 

Statut indiquant si l'on effectue un codage ou un décodage.

ofstream* Lzw::ofs [private]
 

Flux pour les messages (iostatus == DECODAGE).

Code Lzw::SP [private]
 

Code de controle : permet d'indiquer au décodeur que la taille des codes est maintenant plus grande de 1 bit.

int Lzw::tailleCode [private]
 

Taille des codes en nombre de bits. Cette taille grandit au cours du codage.

int Lzw::valMaxCode [private]
 

= 2^tailleCode.


La documentation de cette classe a été générée à partir du fichier suivant:
Généré le Tue Apr 25 13:27:43 2006 pour LZW_DOXYGEN_PROJECT par  doxygen 1.4.6-NO