Home

Awesome

ThorsSerializer

Support for

This code is the basis for ThorsMongo a C++ API for streaming objects to a MongoDB with zero client overhead.

Code Review Code Review Code Review Code Review

Brew package

Benchmark Results

Conformance mac linux
Performance mac linux
For details see: JsonBenchmark

## Documentation

ThorStream

Yet another JSON/YAML/BSON serialization library for C++.

Unlike other libraries this one does not require you to build DOM of you object before serialization. Using a declarative C++ style you define what C++ classes (and members) you want to serialize "ThorSerializer" will generate the appropriate code automagically.

HomeBrew

Can be installed via brew on Mac and Linux

brew install thors-mongo

Header Only

To install header only version

git clone --single-branch --branch header-only https://github.com/Loki-Astari/ThorsMongo.git

Some dependencies:

For All:    Magic Enum: https://github.com/Neargye/magic_enum
For Json:   None        :-)
For Yaml:   libYaml     https://github.com/yaml/libyaml

Building With Visual Studio

To build on windows you will need to add the flag: /Zc:preprocessor. These libraries make heavy use of VAR_ARG macros to generate code for you so require conforming pre-processor. See Macro Expansion of VA_ARGS Bug in Visual Studio? for details.

Contributors

Added the all-contributors bot to generate the table.


One Page