27 #ifndef ZSTD_MODULE_HPP
28 #define ZSTD_MODULE_HPP
34 #include "../my_config.h"
45 class zstd_module:
public compress_module
48 zstd_module(U_I compression_level = 9);
49 zstd_module(
const zstd_module & ref) =
default;
50 zstd_module(zstd_module && ref) noexcept =
default;
51 zstd_module & operator = (
const zstd_module & ref) =
default;
52 zstd_module & operator = (zstd_module && ref) noexcept =
default;
53 virtual ~zstd_module() noexcept = default;
59 virtual U_I get_max_compressing_size()
const override;
61 virtual U_I get_min_size_to_compress(U_I clear_size)
const override;
63 virtual U_I compress_data(
const char *normal,
64 const U_I normal_size,
66 U_I zip_buf_size)
const override;
68 virtual U_I uncompress_data(
const char *zip_buf,
69 const U_I zip_buf_size,
71 U_I normal_size)
const override;
74 virtual std::unique_ptr<compress_module> clone()
const override;
provides abstracted interface of per-block compression/decompression
compression
the different compression algorithm available
switch module to limitint (32 ou 64 bits integers) or infinint
libdar namespace encapsulate all libdar symbols