Cereal is a C++ serialization library and object persistence tool used to convert data types and containers into formats for storage or transmission. It is implemented as a header-only library, allowing it to be included directly in source code without the need for a compiled binary. The library supports multiple data representations, including binary, XML, and JSON. It provides the ability to define custom archives, enabling the development of specialized output formats to control how data is encoded and stored. The system handles the conversion of complex objects through template-based ser
FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu
CapnProto is a zero-copy serialization framework and remote procedure call system. It serves as a C++ communication library providing a schema-based data interchange format that eliminates the need to encode or decode data before reading it from memory. The system enables high-performance data serialization and low-latency network communication. It supports cross-language data exchange by using a defined schema to ensure consistent binary representation across different platforms. The framework provides tools for implementing remote procedure calls, allowing functions to be invoked on a remo
Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys
Cista is a simple, high-performance, zero-copy C++ serialization & reflection library.
The main features of felixguendling/cista are: Serialization, Serialization and Formats, Serialization and Parsing, Developer Tools and Utilities, Reflection and Serialization.
Open-source alternatives to felixguendling/cista include: uscilab/cereal — Cereal is a C++ serialization library and object persistence tool used to convert data types and containers into… nixman/yas — Yet Another Serialization. capnproto/capnproto — CapnProto is a zero-copy serialization framework and remote procedure call system. It serves as a C++ communication… google/flatbuffers — FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require… nanopb/nanopb — Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and… nlohmann/json — This library is a header-only C++ framework designed for the serialization, parsing, and manipulation of structured…