3 #ifndef __COMPRESS_SHRINK_DECODER_H
\r
4 #define __COMPRESS_SHRINK_DECODER_H
\r
6 #include "../../Common/MyCom.h"
\r
8 #include "../ICoder.h"
\r
10 namespace NCompress {
\r
13 const int kNumMaxBits = 13;
\r
14 const UInt32 kNumItems = 1 << kNumMaxBits;
\r
17 public ICompressCoder,
\r
18 public CMyUnknownImp
\r
20 UInt16 _parents[kNumItems];
\r
21 Byte _suffixes[kNumItems];
\r
22 Byte _stack[kNumItems];
\r
23 bool _isFree[kNumItems];
\r
24 bool _isParent[kNumItems];
\r
29 HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
\r
30 const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
\r
32 STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
\r
33 const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
\r