The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 C++ Serialization Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Magic Enum C++
Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
-
Bond
Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. (by microsoft)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Nameof C++
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
-
cppcodec
Header-only C++11 library to encode/decode base64, base64url, base32, base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32. MIT licensed with consistent, flexible API.
-
QxOrm
QxOrm library - C++ Qt ORM (Object Relational Mapping) and ODM (Object Document Mapper) library - Official repository
-
json_struct
json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Reverse Engineering Protobuf Definitions from Compiled Binaries | news.ycombinator.com | 2024-03-09For at least 4 years protobuf has had decent support for self-describing messages (very similar to avro) as well as reflection
https://github.com/protocolbuffers/protobuf/blob/main/src/go...
Xgooglers trying to make do on the cheap will just create a Union of all their messages and include the message def in a self-describing message pattern. Super-sensitive network I/O can elide the message def (empty buffer) and any for RecordIO clone well file compression takes care of the definition.
Definitely useful to be able to dig out old defs but protobuf maintainers have surprisingly added useful features so you don’t have to.
Bonus points tho for extracting the protobuf defs that e.g. Apple bakes into their binaries.
Project mention: FlatBuffers – an efficient cross platform serialization library for many langs | news.ycombinator.com | 2023-09-18
Project mention: What C++ library do you wish existed but hasn’t been created yet? | /r/cpp | 2023-07-08I'm not sure this is quite what you're asking for, but this library has been super helpful to me in the past : https://github.com/Neargye/magic_enum
Project mention: LinkedIn Adopts Protocol Buffers and Reduces Latency Up to 60% | news.ycombinator.com | 2023-07-19
Project mention: How to arrange a bunch of variables into one array of bytes in memory? | /r/cpp | 2023-05-10I would either look at https://github.com/eyalz800/zpp_bits or https://github.com/stephenberry/glaze. FYI, glaze both supports json and binary.
Project mention: Faces.js, a JavaScript library for generating vector-based cartoon faces | news.ycombinator.com | 2024-04-06Interesting, I hadn't come across extism before. How hard would it be to package https://github.com/biojppm/rapidyaml in this way? (And do you have a extism for dummies guide?)
They might have good luck with https://github.com/beached/daw_json_link it has support for stuff like JSON lines and alike plus other ways that only use as much ram as their underlying data structures do as it parses directly to the user DS. Plus it has an iterator/range interface for things like arrays if needed.
C++ Serialization related posts
- XL: An Extensible Programming Language
- C++ exams to practice
- Jsonifier, a Potential New JSON Parsing/Serializing Library, in C++
- Add extra stuff to a “standard” encoding? Sure, why not
- FlatBuffers – an efficient cross platform serialization library for many langs
- Simpletonian approach to services?
- Cap'n Proto 1.0
-
A note from our sponsor - WorkOS
workos.com | 26 Apr 2024
Index
What are some of the best open-source Serialization projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Protobuf | 63,586 |
2 | FlatBuffers | 22,048 |
3 | Magic Enum C++ | 4,403 |
4 | cereal | 3,988 |
5 | rttr | 2,979 |
6 | Bond | 2,573 |
7 | protobuf-c | 2,572 |
8 | Nameof C++ | 1,937 |
9 | cista | 1,642 |
10 | Bitsery | 985 |
11 | glaze | 894 |
12 | The IOD Library | 727 |
13 | yas | 719 |
14 | smf | 709 |
15 | zpp_bits | 655 |
16 | cppcodec | 578 |
17 | rapidyaml | 517 |
18 | python-rapidjson | 492 |
19 | QxOrm | 465 |
20 | daw_json_link | 424 |
21 | json_struct | 371 |
22 | protozero | 276 |
23 | config-loader | 189 |
Sponsored