-// BinTree.h\r
-\r
-#include "../LZInWindow.h"\r
-#include "../IMatchFinder.h"\r
- \r
-namespace BT_NAMESPACE {\r
-\r
-typedef UInt32 CIndex;\r
-const UInt32 kMaxValForNormalize = (UInt32(1) << 31) - 1;\r
-\r
-class CMatchFinder: \r
- public IMatchFinder,\r
- public CLZInWindow,\r
- public CMyUnknownImp,\r
- public IMatchFinderSetNumPasses\r
-{\r
- UInt32 _cyclicBufferPos;\r
- UInt32 _cyclicBufferSize; // it must be historySize + 1\r
- UInt32 _matchMaxLen;\r
- CIndex *_hash;\r
- CIndex *_son;\r
- UInt32 _hashMask;\r
- UInt32 _cutValue;\r
- UInt32 _hashSizeSum;\r
-\r
- void Normalize();\r
- void FreeThisClassMemory();\r
- void FreeMemory();\r
-\r
- MY_UNKNOWN_IMP\r
-\r
- STDMETHOD(SetStream)(ISequentialInStream *inStream);\r
- STDMETHOD_(void, ReleaseStream)();\r
- STDMETHOD(Init)();\r
- HRESULT MovePos();\r
- STDMETHOD_(Byte, GetIndexByte)(Int32 index);\r
- STDMETHOD_(UInt32, GetMatchLen)(Int32 index, UInt32 back, UInt32 limit);\r
- STDMETHOD_(UInt32, GetNumAvailableBytes)();\r
- STDMETHOD_(const Byte *, GetPointerToCurrentPos)();\r
- STDMETHOD_(Int32, NeedChangeBufferPos)(UInt32 numCheckBytes);\r
- STDMETHOD_(void, ChangeBufferPos)();\r
-\r
- STDMETHOD(Create)(UInt32 historySize, UInt32 keepAddBufferBefore, \r
- UInt32 matchMaxLen, UInt32 keepAddBufferAfter);\r
- STDMETHOD(GetMatches)(UInt32 *distances);\r
- STDMETHOD(Skip)(UInt32 num);\r
-\r
-public:\r
- CMatchFinder();\r
- virtual ~CMatchFinder();\r
- virtual void SetNumPasses(UInt32 numPasses) { _cutValue = numPasses; }\r
-};\r
-\r
-}\r
+// BinTree.h
+
+#include "../LZInWindow.h"
+#include "../IMatchFinder.h"
+
+namespace BT_NAMESPACE {
+
+typedef UInt32 CIndex;
+const UInt32 kMaxValForNormalize = (UInt32(1) << 31) - 1;
+
+class CMatchFinder:
+ public IMatchFinder,
+ public CLZInWindow,
+ public CMyUnknownImp,
+ public IMatchFinderSetNumPasses
+{
+ UInt32 _cyclicBufferPos;
+ UInt32 _cyclicBufferSize; // it must be historySize + 1
+ UInt32 _matchMaxLen;
+ CIndex *_hash;
+ CIndex *_son;
+ UInt32 _hashMask;
+ UInt32 _cutValue;
+ UInt32 _hashSizeSum;
+
+ void Normalize();
+ void FreeThisClassMemory();
+ void FreeMemory();
+
+ MY_UNKNOWN_IMP
+
+ STDMETHOD(SetStream)(ISequentialInStream *inStream);
+ STDMETHOD_(void, ReleaseStream)();
+ STDMETHOD(Init)();
+ HRESULT MovePos();
+ STDMETHOD_(Byte, GetIndexByte)(Int32 index);
+ STDMETHOD_(UInt32, GetMatchLen)(Int32 index, UInt32 back, UInt32 limit);
+ STDMETHOD_(UInt32, GetNumAvailableBytes)();
+ STDMETHOD_(const Byte *, GetPointerToCurrentPos)();
+ STDMETHOD_(Int32, NeedChangeBufferPos)(UInt32 numCheckBytes);
+ STDMETHOD_(void, ChangeBufferPos)();
+
+ STDMETHOD(Create)(UInt32 historySize, UInt32 keepAddBufferBefore,
+ UInt32 matchMaxLen, UInt32 keepAddBufferAfter);
+ STDMETHOD(GetMatches)(UInt32 *distances);
+ STDMETHOD(Skip)(UInt32 num);
+
+public:
+ CMatchFinder();
+ virtual ~CMatchFinder();
+ virtual void SetNumPasses(UInt32 numPasses) { _cutValue = numPasses; }
+};
+
+}