Marine Library
1.0
C++ library for Linux Networking Development
|
A convenient interface for QuickLZ compression algorithm. More...
#include <compress_quicklz.hh>
Public Member Functions | |||||||
CCompressorQuickLZ () | |||||||
Default constructor. | |||||||
Compression | |||||||
Compress given data. If
| |||||||
bool | compress (const std::vector< char > &input, std::vector< char > &output) const | ||||||
bool | compress (const std::vector< unsigned char > &input, std::vector< unsigned char > &output) const | ||||||
bool | compress (const std::vector< signed char > &input, std::vector< signed char > &output) const | ||||||
bool | compress (const std::string &input, std::string &output) const | ||||||
Decompression | |||||||
Decompress given data. If
| |||||||
bool | decompress (const std::vector< char > &input, std::vector< char > &output) const | ||||||
bool | decompress (const std::vector< unsigned char > &input, std::vector< unsigned char > &output) const | ||||||
bool | decompress (const std::vector< signed char > &input, std::vector< signed char > &output) const | ||||||
bool | decompress (const std::string &input, std::string &output) const | ||||||
A convenient interface for QuickLZ compression algorithm.
There are 3 macros that can impact the behavior of CCompressorQuickLZ
.
QLZ_COMPRESSION_LEVEL
1
, 2
or 3
. 1
gives fastest compression speed. 3
gives fastest decompression speed and best compression ratio. QLZ_STREAMING_BUFFER
0
: Streaming compression is disabled; 100000
or 1000000
. If it's too small, streaming compression may NOT function properly. QLZ_MEMORY_SAFE
QLZ_MEMORY_SAFE
is defined, it is guaranteed that decompression of corrupted data cannot crash. But this could decrease decompression speed by 10-20%. Compression speed is not affected.