3#include <StormByte/crypto/compressor/generic.hxx>
9namespace StormByte::Crypto::Compressor {
20 Bzip2(
unsigned short level = 5);
57 inline PointerType Clone()
const override {
58 return std::make_unique<Bzip2>(*
this);
65 inline PointerType
Move() noexcept
override {
66 return std::make_unique<Bzip2>(std::move(*
this));
77 bool DoCompress(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
85 Buffer::Consumer DoCompress(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
94 bool DoDecompress(std::span<const std::byte> input, Buffer::WriteOnly& output)
const noexcept override;
102 Buffer::Consumer DoDecompress(Buffer::Consumer consumer, ReadMode mode)
const noexcept override;
A class representing the Bzip2 compression algorithm.
Definition bzip2.hxx:14
PointerType Move() noexcept override
Move the Bzip2 compressor.
Definition bzip2.hxx:65
~Bzip2() noexcept=default
Virtual destructor.
Bzip2(Bzip2 &&other) noexcept=default
Move constructor.
Bzip2(unsigned short level=5)
Constructor.
Bzip2(const Bzip2 &other)=default
Copy constructor.
A generic compressor class.
Definition generic.hxx:26