1#ifndef APE_PREDICTOR_H
2#define APE_PREDICTOR_H
3
4/*************************************************************************************************
5IPredictorCompress - the interface for compressing (predicting) data
6*************************************************************************************************/
7class IPredictorCompress
8{
9public:
10    IPredictorCompress(int nCompressionLevel) {}
11    virtual ~IPredictorCompress() {}
12
13    virtual int CompressValue(int nA, int nB = 0) = 0;
14    virtual int Flush() = 0;
15};
16
17/*************************************************************************************************
18IPredictorDecompress - the interface for decompressing (un-predicting) data
19*************************************************************************************************/
20class IPredictorDecompress
21{
22public:
23    IPredictorDecompress(int nCompressionLevel, int nVersion) {}
24    virtual ~IPredictorDecompress() {}
25
26    virtual int DecompressValue(int nA, int nB = 0) = 0;
27    virtual int Flush() = 0;
28};
29
30#endif // #ifndef APE_PREDICTOR_H
31