31 using ErrorString =
char const*;
33 Compressor() =
default;
34 Compressor(Compressor
const& compressor) =
default;
35 Compressor(Compressor&& compressor)
noexcept =
default;
36 virtual ~Compressor() =
default;
38 [[nodiscard]]
inline std::size_t getLastCompressionSize()
const {
return this->_g_lastCompressionSize; }
40 [[nodiscard]]
virtual std::optional<ErrorString> compress(std::span<uint8_t const>
const& rawData) = 0;
41 [[nodiscard]]
virtual std::optional<ErrorString> uncompress(std::span<uint8_t const>
const& data) = 0;
43 [[nodiscard]]
inline std::vector<uint8_t>
const& getBuffer()
const {
return this->_g_buffer; }
46 std::vector<uint8_t> _g_buffer;
47 std::size_t _g_lastCompressionSize{0};