class Core::Portable::ZlibReadStream
Overview
Stream with “on demand” decompression. More…
#include <corezipstream.h> class ZlibReadStream: public Core::IO::Stream, public Core::IO::BufferProvider { public: // construction ZlibReadStream(int windowBits = 15); // methods PROPERTY_VARIABLE(int, uncompressedSize, UncompressedSize) bool copyFromSource(IO void initFromMemory( const void* sourceAddress, int compressedSize ); virtual int64 getPosition(); virtual int64 setPosition(int64 pos, int mode); virtual int readBytes(void* buffer, int size); virtual int writeBytes(const void* buffer, int size); virtual BufferProvider* getBufferProvider(); virtual void moveBufferTo(IO::Buffer& buffer); };
Inherited Members
public: // fields static const InterfaceID kIID = FOUR_CHAR_ID('B','S','t','r'); // 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(); virtual void moveBufferTo(Buffer& buffer) = 0;
Detailed Documentation
Stream with “on demand” decompression.
Methods
PROPERTY_VARIABLE(int, uncompressedSize, UncompressedSize) bool copyFromSource(IO void initFromMemory( const void* sourceAddress, int compressedSize )
< copy compressed data from source
does not copy memory!
virtual int64 getPosition()
Get current read/write position.
virtual int64 setPosition(int64 pos, int mode)
Set current read/write position.
See also:
SeekMode
virtual int readBytes(void* buffer, int size)
Read data from stream.
Returns:
number of bytes read or -1 for error
virtual int writeBytes(const void* buffer, int size)
Write data to stream.
Returns:
number of bytes written or -1 for error
virtual BufferProvider* getBufferProvider()
Provide access to underlying buffer (optional).
virtual void moveBufferTo(IO::Buffer& buffer)
Transfer memory ownership to given buffer.