compat.zlib
#includeA compression library
#include <zlib.h>
mcpp add compat.zlib@1.3.2
Usage
From this repository's own test project — built and run by CI, not written for the website.
// Round-trip compress→decompress per codec, asserting byte-for-byte recovery.
#include <bzlib.h>
#include <lz4.h>
#include <lzma.h>
#include <zlib.h>
#include <zstd.h>
#include <cstdint>
#include <cstring>
#include <limits>
#include <vector>
static bool same_bytes(const void* a, size_t an, const void* b, size_t bn) {
return an == bn && std::memcmp(a, b, bn) == 0;
}
int main() {
const uint8_t input[] = "mcpp compat compression smoke";
const size_t input_size = sizeof(input) - 1;
uint8_t zc[256] = {}; uLongf zcs = sizeof(zc);
if (compress2(zc, &zcs, input, (uLong)input_size, Z_BEST_SPEED) != Z_OK) return 1;
uint8_t zo[sizeof(input)] = {}; uLongf zos = input_size;
// …
tests/examples/archive/tests/compression.cpp · project tests/examples/archive
Build
- targets
zlib (lib)- language
c++23- C standard
c11- import std
- no
- include dirs
*, mcpp_generated/include
Sources (15)
*/adler32.c*/compress.c*/crc32.c*/deflate.c*/gzclose.c*/gzlib.c*/gzread.c*/gzwrite.c*/inflate.c*/infback.c*/inftrees.c*/inffast.c*/trees.c*/uncompr.c*/zutil.c
Generated files
mcpp_generated/include/mcpp_zlib_config.h