OpenMS
ZlibCompression Class Reference

Compresses and uncompresses data using zlib. More...

#include <OpenMS/FORMAT/ZlibCompression.h>

Static Public Member Functions

static void compressString (std::string &raw_data, std::string &compressed_data)
 Compresses data using zlib directly. More...
 
static void compressData (const void *raw_data, const size_t in_length, std::string &compressed_data)
 Compresses data using zlib directly. More...
 
static void uncompressData (const void *compressed_data, size_t nr_bytes, std::string &out, size_t output_size=0)
 Uncompresses data using zlib. More...
 
static void uncompressString (const String &in, std::string &out, size_t output_size=0)
 Convencience function calling uncompressData. More...
 

Detailed Description

Compresses and uncompresses data using zlib.

Note
The 'strings' here are not really null-terminated but rather containers of data. If you want safe conversions, use QtByteArray.

Member Function Documentation

◆ compressData()

static void compressData ( const void *  raw_data,
const size_t  in_length,
std::string &  compressed_data 
)
static

Compresses data using zlib directly.

Parameters
raw_dataData to be compressed
in_lengthLength of raw_data in bytes
compressed_dataCompressed result data

Referenced by Base64::encode(), and Base64::encodeIntegers().

◆ compressString()

static void compressString ( std::string &  raw_data,
std::string &  compressed_data 
)
static

Compresses data using zlib directly.

Parameters
raw_dataData to be compressed
compressed_dataCompressed result data

◆ uncompressData()

static void uncompressData ( const void *  compressed_data,
size_t  nr_bytes,
std::string &  out,
size_t  output_size = 0 
)
static

Uncompresses data using zlib.

If available, provide the size of the uncompressed data in output_size for a small performance gain.

Note
Does not support gzip format decompression (only zlib format).
Parameters
[in]compressed_dataThe zlib compressed data
[in]nr_bytesNumber of bytes in compressed data
[out]outUncompressed result data
[in]output_size[optional] If known (!=0), provide the size of the uncompressed data
Exceptions
Exception::InvalidValueif output_size was specified (>0) and turns out to be smaller than actual size of uncompressed data.
Exception::InternalToolErrorif zlib cannot decompress the data (e.g. due to data corruption or unsupported gzip format)

◆ uncompressString()

static void uncompressString ( const String in,
std::string &  out,
size_t  output_size = 0 
)
static

Convencience function calling uncompressData.