1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
// ShrinkDecoder.h
#ifndef __COMPRESS_SHRINK_DECODER_H
#define __COMPRESS_SHRINK_DECODER_H
#include "../../Common/MyCom.h"
#include "../ICoder.h"
namespace NCompress {
namespace NShrink {
const unsigned kNumMaxBits = 13;
const unsigned kNumItems = 1 << kNumMaxBits;
class CDecoder :
public ICompressCoder,
public CMyUnknownImp
{
UInt16 _parents[kNumItems];
Byte _suffixes[kNumItems];
Byte _stack[kNumItems];
public:
MY_UNKNOWN_IMP
HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
};
}}
#endif
|