Zstandard library : usage examples
==================================

- [Simple compression](simple_compression.c) :
 Compress a single file.
 Introduces usage of : `ZSTD_compress()`

- [Simple decompression](simple_decompression.c) :
 Decompress a single file.
 Only compatible with simple compression.
 Result remains in memory.
 Introduces usage of : `ZSTD_decompress()`

- [Multiple simple compression](multiple_simple_compression.c) :
 Compress multiple files (in simple mode) in a single command line.
 Demonstrates memory preservation technique that
 minimizes malloc()/free() calls by re-using existing resources.
 Introduces usage of : `ZSTD_compressCCtx()`

- [Streaming memory usage](streaming_memory_usage.c) :
 Provides amount of memory used by streaming context.
 Introduces usage of : `ZSTD_sizeof_CStream()`

- [Streaming compression](streaming_compression.c) :
 Compress a single file.
 Introduces usage of : `ZSTD_compressStream()`

- [Multiple Streaming compression](multiple_streaming_compression.c) :
 Compress multiple files (in streaming mode) in a single command line.
 Introduces memory usage preservation technique,
 reducing impact of malloc()/free() and memset() by re-using existing resources.

- [Streaming decompression](streaming_decompression.c) :
 Decompress a single file compressed by zstd.
 Compatible with both simple and streaming compression.
 Result is sent to stdout.
 Introduces usage of : `ZSTD_decompressStream()`

- [Dictionary compression](dictionary_compression.c) :
 Compress multiple files using the same dictionary.
 Introduces usage of : `ZSTD_createCDict()` and `ZSTD_compress_usingCDict()`

- [Dictionary decompression](dictionary_decompression.c) :
 Decompress multiple files using the same dictionary.
 Result remains in memory.
 Introduces usage of : `ZSTD_createDDict()` and `ZSTD_decompress_usingDDict()`