compat.zstd
#includeZstandard real-time compression algorithm
#include <zstd.h>
mcpp add compat.zstd@1.5.7
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
zstd (lib)- language
c++23- C standard
c11- import std
- no
- include dirs
*/lib, */lib/common, */lib/compress, */lib/decompress
Sources (4)
*/lib/common/*.c*/lib/compress/*.c*/lib/decompress/*.c!*/lib/common/zstd_trace.c