qb  2.0.0.0
C++17 Actor Framework
qb Issue Watch Star Fork Follow @isndev
Loading...
Searching...
No Matches
Compression Utilities

Data compression and decompression (requires Zlib). More...

Collaboration diagram for Compression Utilities:

Files

file  compression.h
 Data compression utilities for the QB IO library.

Classes

struct  qb::compression::operation_result
 Result of a compression/decompression operation. More...
class  qb::compression::compress_provider
 Abstract interface for compression algorithm providers. More...
class  qb::compression::decompress_provider
 Abstract interface for decompression algorithm providers. More...
class  qb::compression::compress_factory
 Factory interface for creating compression providers. More...
class  qb::compression::decompress_factory
 Factory interface for creating decompression providers. More...
struct  qb::compression::deflate::to_compress
 Structure for passing compression parameters for deflate. More...
struct  qb::compression::deflate::to_uncompress
 Structure for passing decompression parameters for deflate. More...
struct  qb::compression::gzip::to_compress
 Structure for passing gzip compression parameters. More...
struct  qb::compression::gzip::to_uncompress
 Structure for passing gzip decompression parameters. More...

Enumerations

enum  qb::compression::operation_hint { qb::compression::is_last , qb::compression::has_more }
 Hints for compression/decompression operations. More...

Functions

bool qb::compression::gzip::is_compressed (const char *data, std::size_t size)
 Check if data is compressed using gzip or zlib format.

Detailed Description

Data compression and decompression (requires Zlib).

Contains `qb::compression`.

Enumeration Type Documentation

◆ operation_hint

Hints for compression/decompression operations.

These hints indicate whether an operation is the last in a sequence or whether there are more operations to follow. They help the compression algorithm make optimal decisions about buffer management and flushing.

Enumerator
is_last 

Used for the expected last compress() call, or for an expected single decompress() call.

has_more 

Used when further compress() calls will be made, or when multiple decompress() calls may be required.

Function Documentation

◆ is_compressed()

bool qb::compression::gzip::is_compressed ( const char * data,
std::size_t size )
inline

Check if data is compressed using gzip or zlib format.

Examines the data header to determine if it's in a recognized compressed format.

Parameters
dataPointer to the data to check
sizeSize of the data in bytes
Returns
true if the data appears to be in gzip or zlib format, false otherwise