00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00026 #ifndef __ZLIB_FLATE_HEADER_INCLUDED__
00027 #define __ZLIB_FLATE_HEADER_INCLUDED__
00028
00029 #include <stdexcept>
00030 #include <string>
00031 #include <vector>
00032
00039 namespace zlib {
00040
00048 class CError : public std::runtime_error
00049 {
00050 public :
00051 CError( int err ) ;
00052
00053 private :
00054 static const std::string& Lookup( int err ) ;
00055 static const std::string TABLE[] ;
00056 } ;
00057
00058 enum ELevel
00059 {
00060 NO_COMPRESSION = 0,
00061 BEST_SPEED = 1,
00062 BEST_COMPRESSION = 9,
00063 DEFAULT_COMPRESSION = -1
00064 } ;
00065
00067 typedef std::vector<unsigned char> CBuffer ;
00068
00069 void Compress( const CBuffer& input, CBuffer& output,
00070 int level = BEST_COMPRESSION ) ;
00071
00072 void Compress( CBuffer& buffer, int level = BEST_COMPRESSION ) ;
00073
00074 void Compress( const void *buffer, unsigned size, CBuffer& output,
00075 int level = BEST_COMPRESSION ) ;
00076
00077 }
00078
00079 #endif