Death::IO::Compression::DeflateStream class

Provides read-only streaming of compressed data using the Deflate algorithm.

Base classes

class Death::IO::Stream
Provides a generic view of a sequence of bytes.

Constructors, destructors, conversion operators

DeflateStream()
DeflateStream(Stream& inputStream, std::int32_t inputSize = -1, bool rawInflate = true)
~DeflateStream()
DeflateStream(const DeflateStream&) deleted
DeflateStream(DeflateStream&& other) noexcept

Public functions

auto operator=(const DeflateStream&) -> DeflateStream& deleted
auto operator=(DeflateStream&& other) -> DeflateStream& noexcept
void Open(Stream& inputStream, std::int32_t inputSize = -1, bool rawInflate = true)
void Dispose() override
Closes the stream and releases all assigned resources.
auto Seek(std::int64_t offset, SeekOrigin origin) -> std::int64_t override
Seeks in an opened stream.
auto GetPosition() const -> std::int64_t override
Tells the seek position of an opened stream.
auto Read(void* destination, std::int64_t bytesToRead) -> std::int64_t override
Reads a certain amount of bytes from the stream to a buffer.
auto Write(const void* source, std::int64_t bytesToWrite) -> std::int64_t override
Writes a certain amount of bytes from a buffer to the stream.
auto Flush() -> bool override
Clears all buffers for this stream and causes any buffered data to be written to the underlying device.
auto IsValid() -> bool override
Returns true if the stream has been sucessfully opened.
auto GetSize() const -> std::int64_t override
Returns stream size in bytes.
auto CeaseReading() -> bool