27 #ifndef COMPRESS_MODULE_HPP
28 #define COMPRESS_MODULE_HPP
30 #include "../my_config.h"
45 compress_module(
const compress_module & ref) =
default;
46 compress_module(compress_module && ref) noexcept = default;
47 compress_module & operator = (const compress_module & ref) = default;
48 compress_module & operator = (compress_module && ref) noexcept = default;
49 virtual ~compress_module() = default;
55 virtual U_I get_max_compressing_size() const = 0;
61 virtual U_I get_min_size_to_compress(U_I clear_size) const = 0;
71 virtual U_I compress_data(const
char *normal,
72 const U_I normal_size,
74 U_I zip_buf_size) const = 0;
85 virtual U_I uncompress_data(const
char *zip_buf,
86 const U_I zip_buf_size,
88 U_I normal_size) const = 0;
93 virtual
std::unique_ptr<compress_module> clone() const = 0;
are defined here basic integer types that tend to be portable
compression parameters for API
compression
the different compression algorithm available
libdar namespace encapsulate all libdar symbols