class Core::Portable::ZlibCompressorStream

Stream with zlib compression.

#include <corezipstream.h>

class ZlibCompressorStream: public Core::Portable::ZlibTransformStream
{
public:
    // fields

    static const float kBestSpeed = 0.1f;
    static const float kBestCompression = 1.f;

    // construction

    ZlibCompressorStream(
        IO::Stream* targetStream = nullptr,
        float level = getPreferredLevel(),
        int windowBits = 15
    );

    // methods

    static float getPreferredLevel();
    virtual void reset();
};

Inherited Members

public:
    // structs

    struct Helper;

    // fields

    static const InterfaceID kIID = FOUR_CHAR_ID('B','S','t','r');
    static const int kBufferSize = 0x8000;

    // methods

    virtual int64 getPosition() = 0;
    virtual int64 setPosition(int64 pos, int mode) = 0;
    virtual int readBytes(void* buffer, int size) = 0;
    virtual int writeBytes(const void* buffer, int size) = 0;
    virtual BufferProvider* getBufferProvider();
    PROPERTY_POINTER(IO::Stream, targetStream, TargetStream);
    virtual void reset() = 0;
    virtual int writeBytes(const void* buffer, int size);