diff options
Diffstat (limited to 'CPP/7zip/Compress/Shrink/ShrinkDecoder.h')
-rwxr-xr-x | CPP/7zip/Compress/Shrink/ShrinkDecoder.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/CPP/7zip/Compress/Shrink/ShrinkDecoder.h b/CPP/7zip/Compress/Shrink/ShrinkDecoder.h new file mode 100755 index 00000000..1c15ea8a --- /dev/null +++ b/CPP/7zip/Compress/Shrink/ShrinkDecoder.h @@ -0,0 +1,39 @@ +// ShrinkDecoder.h + +#ifndef __SHRINK_DECODER_H +#define __SHRINK_DECODER_H + +#include "../../../Common/MyCom.h" + +#include "../../ICoder.h" + +namespace NCompress { +namespace NShrink { + +const int kNumMaxBits = 13; +const UInt32 kNumItems = 1 << kNumMaxBits; + +class CDecoder : + public ICompressCoder, + public CMyUnknownImp +{ + UInt16 _parents[kNumItems]; + Byte _suffixes[kNumItems]; + Byte _stack[kNumItems]; + bool _isFree[kNumItems]; + bool _isParent[kNumItems]; +public: + MY_UNKNOWN_IMP + + STDMETHOD(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 |