27#ifndef COMPRESS_MODULE_HPP
28#define COMPRESS_MODULE_HPP
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;
52 virtual compression get_algo()
const = 0;
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
are defined here basic integer types that tend to be portable
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols