This is a C++17 library which allows users to pack, unpack, diff, and patch buffers as well as directories. Using the standard filesystem library, it can virtualize directories, package them, hash them, diff them, and patch them.
The library is optimized for 64-bit CPU's, and is actively tested on linux and windows with every commit.
The library is currently undergoing an entire rework. Certain features and examples have been moved to the /deprecated/ directory until they're replaced - including old sample applications. The current status of the project can be found in Table 1 below. For a list of all known supported operating systems and compiler combinations, see Table 2 below. And lastly, for all other requirements and dependencies, see Table 3 below.
Table 1: Descriptions of continuous integration environments in use.
CI Environment | Build | Test | Analyze |
---|---|---|---|
Travis CI | Linux | Debug/Release |
|
Appveyor | Windows | Debug/Release | |
Codecov | Code Coverage | ||
LGTM | Code Review | ||
CodeFactor | Code Review | ||
Codacy | Code Review |
Table 2: List of operating systems and compilers supported.
Operating System | Compiler | Debug/Release |
---|---|---|
Linux (x64) | GCC 8/9, Clang 7/8/9 | BOTH |
Windows (x64) | MSVC 2017/2019, Clang+LLVM | BOTH |
Table 3: List of all other requirements and dependencies.
Category | Description | Required |
---|---|---|
Language | C++17 (w/ filesystem) | YES |
CPU Architecture | x64 | YES |
Build System | CMake | YES |
External Libraries | LZ4 | PRE-BUNDLED |
Documentation System | Doxygen | OPTIONAL |
This library is licensed under the BSD-3-Clause.