|
5 months ago | |
---|---|---|
include/e6l | 9 months ago | |
test | 5 months ago | |
.clang-tidy | 3 years ago | |
.gitignore | 3 years ago | |
CMakeLists.txt | 5 months ago | |
LICENSE-2.0 | 3 years ago | |
README.rst | 2 years ago |
README.rst
A C++14 (and higher) library for serialization and deserialization of byte sequences to and from (unsigned) integers.
CI Status:
Status |
Description |
Link |
---|---|---|
Top-level CI job |
||
Clang in C++14 mode (amd64) |
||
Clang in C++17 mode (amd64) |
||
Clang in C++20 mode (amd64) |
||
GCC in C++14 mode (amd64) |
||
GCC in C++17 mode (amd64) |
||
GCC in C++20 mode (amd64) |
Feature detection (of library features) is done through the C++20 standardized feature detection macros.
When using C++14 this library requires the Guidlines Support Library (GSL) gsl::span and gsl::byte.
When using C++17, std::byte is automatically used and only gsl::span is required.
For C++20 std::span and std::byte are both automatically used.
To use, either install system-wide (cmake; make; make install) or include into your project as a subdirectory.
To 'link' for your targets that use it:
target_link_libraries(<your target> e6l::serial)
If installed outside your project:
find_package(e6l.serial)
If 'installed' as a subdirectory:
add_subdirectory(path/to/e6.serial)
Read the comment(s) in the header (e6l/serial.hpp) for usage, or see the unit tests in test/.
Building the tests requires Catch2, and is enabled with -DENABLE_TEST=ON.