#include <Lzw.hpp>
Graphe de collaboration de Lzw:
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 |
|
|
|
Constructeur par défaut. |
|
Constructeur par valeur. |
|
codage() Compression lzw. |
|
decodage() Decompression lzw. |
|
ecritCode() Ecrit un code dans le flux de sortie.
|
|
ecritMessage() Ecrit les séquences de messages dans le flux de sortie.
|
|
endOfInputFlux() Indicateur de fin de flux des Messages (utile pour le codage : lecture des messages sur ifs). |
|
initDictionnaire() Remplit le dictionnaire avec les messages initialement connus au codage et au décodage. |
|
litCode() Lit un code dans le flux d'entrée.
|
|
litMessage() Lit un message dans le flux d'entrée. Remarque : Méthode utilisée lors de la compression. |
|
Flux pour les Codes. |
|
cout de codage total en nombre de bits. |
|
Dictionnaire contenant les séquences de messages. |
|
Flux pour les messages (iostatus == CODAGE). |
|
Statut indiquant si l'on effectue un codage ou un décodage. |
|
Flux pour les messages (iostatus == DECODAGE). |
|
Code de controle : permet d'indiquer au décodeur que la taille des codes est maintenant plus grande de 1 bit. |
|
Taille des codes en nombre de bits. Cette taille grandit au cours du codage. |
|
= 2^tailleCode. |