27 #ifndef GZIP_MODULE_HPP
28 #define GZIP_MODULE_HPP
34 #include "../my_config.h"
44 class gzip_module:
public compress_module
47 gzip_module(U_I compression_level = 9);
48 gzip_module(
const gzip_module & ref) =
default;
49 gzip_module(gzip_module && ref) noexcept =
default;
50 gzip_module & operator = (
const gzip_module & ref) =
default;
51 gzip_module & operator = (gzip_module && ref) noexcept =
default;
52 virtual ~gzip_module() noexcept = default;
58 virtual U_I get_max_compressing_size()
const override;
60 virtual U_I get_min_size_to_compress(U_I clear_size)
const override;
62 virtual U_I compress_data(
const char *normal,
63 const U_I normal_size,
65 U_I zip_buf_size)
const override;
67 virtual U_I uncompress_data(
const char *zip_buf,
68 const U_I zip_buf_size,
70 U_I normal_size)
const override;
73 virtual std::unique_ptr<compress_module> clone()
const override;
provides abstracted interface of per-block compression/decompression
compression
the different compression algorithm available
@ gzip
gzip compression (streamed)
libdar namespace encapsulate all libdar symbols