Glaze 7.2.0

good-penguin.png

Состоялся выпуск 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.

>>> Подробности на GitHub

Linux.org.ru прочитано 921 раз