Udgivelsen 7.2.0 højtydende biblioteket Glaze, designet til læsning og skrivning af JSON med praktiske funktioner til serialisering og deserialisering data.
Understøttede formater inkluderer også CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (valgfrit, kompilering kræver Erlang-biblioteker), YAML 1.2, Stencil og Mustache. Biblioteket er skrevet i C++ (header-only, C++23 standard og op) og distribueres under MIT-licensen.
Glaze giver også support for REPE RPC og HTTP server og klient, med moderne C++ funktioner, herunder automatisk generering af REST API, support for WebSocket og SSL/TLS kryptering.
Ændringslog:
- Glaze understøtter nu P2996 «Reflection for C++26». Denne support tilføjede funktioner, der ikke var tilgængelige i tidligere implementeringer af refleksion ved kompileringstid:
- understøttelse af ikke-aggregerede typer – klasser med konstruktører, virtuelle funktioner og arv fungerer bare;
- automatisk serialisering af enumereringer – glz::meta er ikke nødvendig, enumereringer serialiseres automatisk til strenge;
- ubegrænsede antal strukturelle medlemmer – uden den tidligere grænse på 128 medlemmer;
- adgang til private medlemmer – refleksion af alle medlemmer, uanset adgangsmodifikatorer;
- bruger standardmulighederne std::meta – uden specifikke hack til kompileren;
- understøttede kompilatorer: GCC 16+ (med -std=c++26 -freflection optioner) og Bloomberg clang-p2996. For mere information, se dokumentationen om refleksion i C++26.
- Muligheden for at konfigurere bufferstørrelsen i stream_request er tilføjet.
- Fejl i YAML-parsing er rettet.
Kilde: linux.org.ru
