00001 00002 #ifndef decomp_h 00003 #define decomp_h 00004 #include <fstream> 00005 #include "header.h" 00006 #include "IOl.h" 00007 #include "heap.h" 00008 00010 00019 class decompressore 00020 { 00021 protected: 00023 int num; 00024 00026 00033 int* occorrenze; 00034 00036 00040 fstream stream; 00041 00043 00047 frequenza** pf; 00048 00050 00054 node* root; 00055 00057 00062 int buffer[8]; 00063 00065 00069 int contatore; 00070 00072 00078 node* pun; 00079 00081 00088 node* huffman (heap H, int last); 00089 00091 00100 int riempibuffer(IOl& in); 00101 00103 00117 void traduci (IOl& in); 00118 00120 00127 void cancella(node*& tree); 00128 00130 00137 void ultimo(); 00138 00140 00148 int traduci (char c); 00149 00151 00158 int elevato (int a, int b); 00159 00160 public: 00162 00172 decompressore(const char file[], const char fileo[]); 00173 }; 00174 00175 00176 00177 #endif