Vyšlo 7.2.0 vysokovýkonného knižnice Glaze, určené na čítanie a zapisovanie JSON s užitočnými funkciami serializácie a deserializácie dát.
Podporované sú tiež formáty CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (voliteľné, na kompiláciu sú potrebné knižnice Erlang), YAML 1.2, Stencil a Mustache. Knižnica je napísaná v C++ (header-only, štandard C++23 alebo vyššie) a je šírená pod licenciou MIT.
Glaze tiež poskytuje podporu REPE RPC a server a klient HTTP, využívajúci moderné možnosti C++, vrátane automatickej generácie REST API, podpory WebSocket a šifrovania SSL/TLS.
Zoznam zmien:
- Glaze teraz podporuje P2996 «Reflection for C++26». Táto podpora pridala možnosti, ktoré neboli k dispozícii v predchádzajúcich realizáciách reflexie v čase kompilácie:
- podpora neagregátových typov – triedy s konštruktormi, virtuálnymi funkciami a dedičstvom jednoducho fungujú;
- automatická serializácia enumov – glz::meta nie je potrebné, enumy sa automaticky serializujú do reťazcov;
- neobmedzený počet členov štruktúry – bez predchádzajúceho obmedzenia na 128 členov;
- prístup k súkromným členom – reflexia všetkých členov bez ohľadu na špecifikátory prístupu;
- využívajú sa štandardné možnosti std::meta – bez špecifických trikov pre kompilátor;
- podporované kompilátory: GCC 16+ (s voľbami --std=c++26 -freflection) a Bloomberg clang-p2996. Viac informácií nájdete v dokumentácii k reflexii C++26.
- Pridaná možnosť konfigurácie veľkosti buffera v stream_request.
- Opravené chyby analýzy YAML.
Zdroj: linux.org.ru
