Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 23 C++ Serialization Projects
-
Looking at https://github.com/protocolbuffers/protobuf/issues/8062
-
Project mention: Anyone has experience with reverse engineering flatbuffers? | reddit.com/r/REGames | 2023-05-25
Much more in the discussion of this particular issue onGitHub: flatbuffers:Reverse engineering #4258
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
-
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)
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
Nameof C++
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
Project mention: Added reflection to C++ just to make my game work. | reddit.com/r/gamedev | 2022-10-27In general, nameof for reflection
-
C++ has some reflection. You can checkout cista: https://github.com/felixguendling/cista
-
Project mention: What are some ways I can serialize objects? | reddit.com/r/cpp_questions | 2023-04-25
-
-
-
I have searched extensively, and have tried a few libraries from msgpack-c (C++), to YAS, and a few more not to name.
-
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.
-
Project mention: How to arrange a bunch of variables into one array of bytes in memory? | reddit.com/r/cpp | 2023-05-10
I 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: A convenient C string API, friendly alongside classic C strings. | reddit.com/r/programming | 2022-12-03
The inability, or brittleness, to embed NUL bytes into the string, for once. Zeroed bytes can be valid as an internal bytes of a longer encoded character. And the inefficiency of tempting every caller to rederive the string length on every use, leading to such bugs as quadratic parsing behavior with sscanf. The extra register for an explicit length is a very minute price to pay compared to that.
-
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.
-
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
-
-
-
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
C++ Serialization related posts
- Anyone has experience with reverse engineering flatbuffers?
- Would std::construct_at be better here?
- C++ code generator to help build distributed systems
- Deco – Delimiter Collision Free Format
- Flatty - flat message buffers with direct mapping to Rust types without packing/unpacking
- Favorite Ways of Stringifying Enums
- How to arrange a bunch of variables into one array of bytes in memory?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 27 May 2023
Index
What are some of the best open-source Serialization projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Protobuf | 59,480 |
2 | FlatBuffers | 20,494 |
3 | Magic Enum C++ | 3,674 |
4 | cereal | 3,577 |
5 | rttr | 2,678 |
6 | Bond | 2,526 |
7 | protobuf-c | 2,349 |
8 | Nameof C++ | 1,682 |
9 | cista | 1,273 |
10 | Bitsery | 830 |
11 | The IOD Library | 723 |
12 | smf | 681 |
13 | yas | 629 |
14 | cppcodec | 515 |
15 | zpp_bits | 483 |
16 | python-rapidjson | 480 |
17 | rapidyaml | 426 |
18 | daw_json_link | 368 |
19 | QxOrm | 359 |
20 | json_struct | 306 |
21 | protozero | 246 |
22 | serializer | 166 |
23 | config-loader | 148 |