GZIPCompressorOutputStream Class Reference
juce_core » zip

A stream which uses zlib to compress the data written into it. More...

Inheritance diagram for GZIPCompressorOutputStream:

## Public Types

enum | WindowBitsValues { windowBitsRaw = -15, windowBitsGZIP = 15 + 16 }
| These are preset values that can be used for the constructor's windowBits parameter. More...

## Public Member Functions

| GZIPCompressorOutputStream (OutputStream &destStream, int compressionLevel=-1, int windowBits=0)
| Creates a compression stream. More...
| GZIPCompressorOutputStream (OutputStream *destStream, int compressionLevel=-1, bool deleteDestStreamWhenDestroyed=false, int windowBits=0)
| Creates a compression stream. More...
| ~GZIPCompressorOutputStream () override
| Destructor. More...
void | flush () override
| Flushes and closes the stream. More...
int64 | getPosition () override
| Returns the stream's current position. More...
bool | setPosition (int64) override
| Tries to move the stream's output position. More...
bool | write (const void *, size_t) override
| Writes a block of data to the stream. More...
Public Member Functions inherited from OutputStream
virtual | ~OutputStream ()
| Destructor. More...
virtual bool | writeByte (char byte)
| Writes a single byte to the stream. More...
virtual bool | writeBool (bool boolValue)
| Writes a boolean to the stream as a single byte. More...
virtual bool | writeShort (short value)
| Writes a 16-bit integer to the stream in a little-endian byte order. More...
virtual bool | writeShortBigEndian (short value)
| Writes a 16-bit integer to the stream in a big-endian byte order. More...
virtual bool | writeInt (int value)
| Writes a 32-bit integer to the stream in a little-endian byte order. More...
virtual bool | writeIntBigEndian (int value)
| Writes a 32-bit integer to the stream in a big-endian byte order. More...
virtual bool | writeInt64 (int64 value)
| Writes a 64-bit integer to the stream in a little-endian byte order. More...
virtual bool | writeInt64BigEndian (int64 value)
| Writes a 64-bit integer to the stream in a big-endian byte order. More...
virtual bool | writeFloat (float value)
| Writes a 32-bit floating point value to the stream in a binary format. More...
virtual bool | writeFloatBigEndian (float value)
| Writes a 32-bit floating point value to the stream in a binary format. More...
virtual bool | writeDouble (double value)
| Writes a 64-bit floating point value to the stream in a binary format. More...
virtual bool | writeDoubleBigEndian (double value)
| Writes a 64-bit floating point value to the stream in a binary format. More...
virtual bool | writeRepeatedByte (uint8 byte, size_t numTimesToRepeat)
| Writes a byte to the output stream a given number of times. More...
virtual bool | writeCompressedInt (int value)
| Writes a condensed binary encoding of a 32-bit integer. More...
virtual bool | writeString (const String &text)
| Stores a string in the stream in a binary format. More...
virtual bool | writeText (const String &text, bool asUTF16, bool writeUTF16ByteOrderMark, const char *lineEndings)
| Writes a string of text to the stream. More...
virtual int64 | writeFromInputStream (InputStream &source, int64 maxNumBytesToWrite)
| Reads data from an input stream and writes it to this stream. More...
void | setNewLineString (const String &newLineString)
| Sets the string to write to the stream when a new line is written. More...
const String & | getNewLineString () const noexcept
| Returns the current new-line string that was set by setNewLineString(). More...

## Additional Inherited Members

Protected Member Functions inherited from OutputStream
| OutputStream ()

## Detailed Description

A stream which uses zlib to compress the data written into it.

Important note: When you call flush() on a GZIPCompressorOutputStream, the gzip data is closed - this means that no more data can be written to it, and any subsequent attempts to call write() will cause an assertion.

See also
  GZIPDecompressorInputStream

## Member Enumeration Documentation

## WindowBitsValues

enum GZIPCompressorOutputStream::WindowBitsValues

These are preset values that can be used for the constructor's windowBits parameter.

For more info about this, see the zlib documentation for its windowBits parameter.

Enumerator
windowBitsRaw |
windowBitsGZIP |

## Constructor & Destructor Documentation

## GZIPCompressorOutputStream() [1/2]

GZIPCompressorOutputStream::GZIPCompressorOutputStream | ( | OutputStream & | destStream,
|  | int | compressionLevel = `-1`,
|  | int | windowBits = `0`
| ) |  |

Creates a compression stream.

Parameters

  destStream | the stream into which the compressed data will be written
  compressionLevel | how much to compress the data, between 0 and 9, where 0 is non-compressed storage, 1 is the fastest/lowest compression, and 9 is the slowest/highest compression. Any value outside this range indicates that a default compression level should be used.
  windowBits | this is used internally to change the window size used by zlib - leave it as 0 unless you specifically need to set its value for some reason

## GZIPCompressorOutputStream() [2/2]

GZIPCompressorOutputStream::GZIPCompressorOutputStream | ( | OutputStream * | destStream,
|  | int | compressionLevel = `-1`,
|  | bool | deleteDestStreamWhenDestroyed = `false`,
|  | int | windowBits = `0`
| ) |  |

Creates a compression stream.

Parameters

  destStream | the stream into which the compressed data will be written. Ownership of this object depends on the value of deleteDestStreamWhenDestroyed
  compressionLevel | how much to compress the data, between 0 and 9, where 0 is non-compressed storage, 1 is the fastest/lowest compression, and 9 is the slowest/highest compression. Any value outside this range indicates that a default compression level should be used.
  deleteDestStreamWhenDestroyed | whether or not the GZIPCompressorOutputStream will delete the destStream object when it is destroyed
  windowBits | this is used internally to change the window size used by zlib - leave it as 0 unless you specifically need to set its value for some reason

## ~GZIPCompressorOutputStream()

GZIPCompressorOutputStream::~GZIPCompressorOutputStream | ( |  | ) |

override

Destructor.

## Member Function Documentation

## flush()

void GZIPCompressorOutputStream::flush | ( |  | ) |

override virtual

Flushes and closes the stream.

Note that unlike most streams, when you call flush() on a GZIPCompressorOutputStream, the stream is closed - this means that no more data can be written to it, and any subsequent attempts to call write() will cause an assertion.

Implements OutputStream.

## getPosition()

int64 GZIPCompressorOutputStream::getPosition | ( |  | ) |

override virtual

Returns the stream's current position.

See also
  setPosition

Implements OutputStream.

## setPosition()

bool GZIPCompressorOutputStream::setPosition | ( | int64 | newPosition | ) |

override virtual

Tries to move the stream's output position.

Not all streams will be able to seek to a new position - this will return false if it fails to work.

See also
  getPosition

Implements OutputStream.

## write()

bool GZIPCompressorOutputStream::write | ( | const void * | dataToWrite,
|  | size_t | numberOfBytes
| ) |  |

override virtual

Writes a block of data to the stream.

When creating a subclass of OutputStream, this is the only write method that needs to be overloaded - the base class has methods for writing other types of data which use this to do the work.

Parameters

  dataToWrite | the target buffer to receive the data. This must not be null.
  numberOfBytes | the number of bytes to write.

Returns
  false if the write operation fails for some reason

Implements OutputStream.

The documentation for this class was generated from the following file:

- juce_GZIPCompressorOutputStream.h