Издаване на версия 7.2.0 високопроизводителен библиотека Glaze, предназначена за четене и запис на JSON с удобни функции за сериализация и десериализация данни.
Също така се поддържат формати CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (по желание, за компилация са необходими библиотеки Erlang), YAML 1.2, Stencil и Mustache. Библиотеката е написана на C++ (header-only, стандарт C++23 и по-горе) и се разпространява под лиценз MIT.
Glaze също предлага поддръжка REPE RPC и HTTP сървър и клиент, използвайки съвременни възможности на C++, включително автоматично генериране на REST API, поддръжка на WebSocket и криптиране SSL/TLS.
Списък с промени:
- Glaze вече поддържа P2996 «Reflection for C++26». Тази поддръжка добави възможности, недостъпни в предишни реализации на рефлексия на етап компилация:
- поддръжка на неагрегатни типове – класове с конструктори, виртуални функции и наследяване просто работят;
- автоматична сериализация на изброявания – glz::meta не е необходим, изброяванията автоматично се сериализират в низове;
- неограничен брой членове на структурата – без предишното ограничение от 128 члена;
- достъп до частни членове – рефлексия на всички членове, независимо от спецификаторите за достъп;
- използват се стандартните възможности std::meta – без специфични за компилатора хакове;
- поддържани компилатори: GCC 16+ (с опции -std=c++26 -freflection) и Bloomberg clang-p2996. За повече подробности вижте документацията за рефлексия C++26.
- Добавена е възможност за конфигуриране на размера на буфера в stream_request.
- Поправени са грешки при парсинга на YAML.
Източник: linux.org.ru
