www.digitalmars.com

D Programming Language 1.0

Last update Mon Dec 31 10:53:28 2012

std.zlib

Compress/decompress data using the zlib library.

References:
Wikipedia

License:
Public Domain

Source:
std/zlib.d

class ZlibException: object.Exception;
Errors throw a ZlibException.

uint adler32(uint adler, void[] buf);
Compute the Adler32 checksum of the data in buf[]. adler is the starting value when computing a cumulative checksum.

uint crc32(uint crc, void[] buf);
Compute the CRC32 checksum of the data in buf[]. crc is the starting value when computing a cumulative checksum.

void[] compress(void[] srcbuf, int level);
void[] compress(void[] buf);
Compresses the data in srcbuf[] using compression level level. The default value for level is 6, legal values are 1..9, with 1 being the least compression and 9 being the most. Returns the compressed data.

void[] uncompress(void[] srcbuf, size_t destlen = 0u, int winbits = 15);
Decompresses the data in srcbuf[].

Params:
size_t destlen size of the uncompressed data. It need not be accurate, but the decompression will be faster if the exact size is supplied.

Returns:
the decompressed data.

class Compress;
Used when the data to be compressed is not all in one buffer.

this(int level);
this();
Construct. level is the same as for D.zlib.compress().

void[] compress(void[] buf);
Compress the data in buf and return the compressed data. The buffers returned from successive calls to this should be concatenated together.

void[] flush(int mode = Z_FINISH);
Compress and return any remaining data. The returned data should be appended to that returned by compress().

Params:
int mode one of the following:
Z_SYNC_FLUSH
Syncs up flushing to the next byte boundary. Used when more data is to be compressed later on.
Z_FULL_FLUSH
Syncs up flushing to the next byte boundary. Used when more data is to be compressed later on, and the decompressor needs to be restartable at this point.
Z_FINISH
(default) Used when finished compressing the data.

class UnCompress;
Used when the data to be decompressed is not all in one buffer.

this(uint destbufsize);
this();
Construct. destbufsize is the same as for D.zlib.uncompress().

void[] uncompress(void[] buf);
Decompress the data in buf and return the decompressed data. The buffers returned from successive calls to this should be concatenated together.

void[] flush();
Decompress and return any remaining data. The returned data should be appended to that returned by uncompress(). The UnCompress object cannot be used further.