class EE::System::IOStreamDeflate

Overview

Implementation of a deflating stream. More…

#include <iostreamdeflate.hpp>

class IOStreamDeflate: public EE::System::IOStream {
public:
    // construction

    IOStreamDeflate(IOStream& inOutStream, Compression::Mode mode, const Compression::Config& config = Compression::Config());
    virtual ~IOStreamDeflate();

    // methods

    static IOStreamDeflate* New(IOStream& inOutStream, Compression::Mode mode, const Compression::Config& config = Compression::Config());
    virtual ios_size read(char* data, ios_size size);
    virtual ios_size write(const char* data, ios_size size);
    virtual ios_size seek(ios_size position);
    virtual ios_size tell();
    virtual ios_size getSize();
    virtual bool isOpen();
    const Compression::Mode& getMode() const;
};

Inherited Members

public:
    // methods

    virtual ios_size read(char* data, ios_size size) = 0;
    virtual ios_size write(const char* data, ios_size size) = 0;
    virtual ios_size seek(ios_size position) = 0;
    virtual ios_size tell() = 0;
    virtual ios_size getSize() = 0;
    virtual bool isOpen() = 0;

Detailed Documentation

Implementation of a deflating stream.

Construction

IOStreamDeflate(IOStream& inOutStream, Compression::Mode mode, const Compression::Config& config = Compression::Config())

Use a stream as a input or output buffer.

Parameters:

inOutStream

Stream where the results will ve loaded or saved. It must be used only for reading or writing, can’t mix both calls.

mode

Compression method used

config

Compression configuration

Methods

virtual ios_size read(char* data, ios_size size)

Read data from the stream.

Parameters:

data

Buffer where to copy the read data

size

Desired number of bytes to read

Returns:

The number of bytes actually read

virtual ios_size write(const char* data, ios_size size)

Write data to the virtual file.

Parameters:

data

Data to write in the file

size

Size of the data that needs to be writed

virtual ios_size seek(ios_size position)

Change the current reading position.

Parameters:

position

The position to seek to, from the beginning

Returns:

The position actually sought to.

virtual ios_size tell()

Get the current reading position in the stream.

Returns:

The current position, or -1 on error.

virtual ios_size getSize()

Return the size of the stream.

Returns:

The total number of bytes available in the stream

virtual bool isOpen()

Returns:

If the virtual stream file is open