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;
compression parameters for API
compression
the different compression algorithm available
are defined here basic integer types that tend to be portable
libdar namespace encapsulate all libdar symbols