8000 GitHub - connectivecpp/binary-serialize at 71737ea413843421ab8b0291f04e8c758a89a2b4
[go: up one dir, main page]

Skip to content

A minimal C++ library for binary serialization, using compile time specifier strings similar to std::format

License

Notifications You must be signed in to change notification settings

connectivecpp/binary-serialize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binary Serialize, Header-Only C++ 20 Binary Serialization Classes and Functions

Unit Test and Documentation Generation Workflow Status

GH Actions Workflow Status

GH Actions Workflow Status

GH Actions Workflow Status

GH Tag

Overview

The

Generated Documentation

The generated Doxygen documentation for binary_serialize is here.

Dependencies

The binary_serialize header file does not have any third-party dependencies. It uses C++ standard library headers only. The unit test code does have dependencies as noted below.

C++ Standard

binary_serialize uses C++ 20 features, including ... (fill in details here) ... the "spaceship" operator (<=>), std::span, and concepts / requires.

Supported Compilers

Continuous integration workflows build and unit test on g++ (through Ubuntu), MSVC (through Windows), and clang (through macOS).

Unit Test Dependencies

The unit test code uses Catch2. If the BINARY_SERIALIZE_BUILD_TESTS flag is provided to Cmake (see commands below) the Cmake configure / generate will download the Catch2 library as appropriate using the CPM.cmake dependency manager. If Catch2 (v3 or greater) is already installed using a different package manager (such as Conan or vcpkg), the CPM_USE_LOCAL_PACKAGES variable can be set which results in find_package being attempted. Note that v3 (or later) of Catch2 is required.

The unit test uses utilities from Connective C++'s utility-rack.

Specific version (or branch) specs for the dependenies are in test/CMakeLists.txt.

Build and Run Unit Tests

To build and run the unit test program:

First clone the binary-serialize repository, then create a build directory in parallel to the binary-serialize directory (this is called "out of source" builds, which is recommended), then cd (change directory) into the build directory. The CMake commands:

cmake -D BINARY_SERIALIZE_BUILD_TESTS:BOOL=ON ../binary-serialize

cmake --build .

ctest

For additional test output, run the unit test individually, for example:

test/binary_serialize_test -s

The example can be built by adding -D BINARY_SERIALIZE_BUILD_EXAMPLES:BOOL=ON to the CMake configure / generate step.

About

A minimal C++ library for binary serialization, using compile time specifier strings similar to std::format

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0