The release of version 7.2.0 has taken place high-performance a library Glaze, designed for reading and writing JSON with convenient features serialization and deserialization of data.
It also supports CSV formats, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (optional, Erlang libraries are required for compilation), YAML 1.2, Stencil, and Mustache. The library is written in C++ (header-only, C++23 standard and above) and is distributed under the MIT license.
Glaze also provides support for REPE RPC and HTTP server and client, leveraging modern C++ capabilities, including automatic REST API generation, WebSocket support, and SSL/TLS encryption.
Change log:
- Glaze now supports P2996 "Reflection for C++26". This support has added capabilities that were unavailable in earlier implementations of reflection at compile-time:
- support for non-aggregate types – classes with constructors, virtual functions, and inheritance work seamlessly;
- automatic serialization of enumerations – glz::meta is not required, enumerations are automatically serialized into strings;
- unlimited number of structure members – no longer limited to 128 members;
- access to private members – reflection of all members, regardless of access specifiers;
- standard std::meta capabilities are used – no compiler-specific hacks;
- supported compilers: GCC 16+ (with options -std=c++26 -freflection) and Bloomberg clang-p2996. For more details, see documentation on C++26 reflection.
- The ability to configure the buffer size in stream_request has been added.
- YAML parsing errors have been fixed.
Source: linux.org.ru
