00001 #ifndef __J2K__LZH__LZHLCompressor_HPP__ 00002 #define __J2K__LZH__LZHLCompressor_HPP__ 00003 00004 class LZHLCompressor : private LZBuffer { 00005 public: 00006 LZHLCompressor(); 00007 virtual ~LZHLCompressor(); 00008 00009 public: 00010 static size_t calcMaxBuf( size_t rawSz ) { 00011 return LZHLEncoder::calcMaxBuf( rawSz ); 00012 } 00013 00014 size_t compress( BYTE* dst, const BYTE* src, size_t sz ); 00015 00016 private: 00017 void _wrapTable(); 00018 LZHASH _updateTable( LZHASH hash, const BYTE* src, LZPOS pos, int len ); 00019 00020 private: 00021 LZHLEncoderStat stat; 00022 LZTableItem* table; 00023 }; 00024 00025 #endif