Version 7.2.0 har slÀppts högpresterande bibliotek Glaze, avsett för lÀsning och skrivning av JSON med praktiska funktioner för serialisering och deserialisering av data.
CSV-format stöds ocksÄ, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (valfritt, bibliotek för kompilering krÀvs), YAML 1.2, Stencil och Mustache. Biblioteket Àr skrivet i C++ (header-only, standard C++23 och högre) och distribueras under MIT-licensen.
Glaze erbjuder ocksÄ stöd för REPE RPC och HTTP-server och klient, med moderna C++-möjligheter, inklusive automatisk generering av REST API, stöd för WebSocket och SSL/TLS-kryptering.
Ăndringslista:
- Glaze stöder nu P2996 «Reflection for C++26». Detta stöd tillförde möjligheter som inte fanns i tidigare implementationer av reflektion i kompilering:
- stöd för icke-aggregerade typer â klasser med konstruktörer, virtuella funktioner och arv fungerar enkelt;
- automatisk serialisering av upprĂ€kningar â glz::meta krĂ€vs inte, upprĂ€kningar serialiseras automatiskt till strĂ€ngar;
- obegrĂ€nsat antal medlemmar i strukturer â utan den tidigare begrĂ€nsningen pĂ„ 128 medlemmar;
- Ă„tkomst till privata medlemmar â reflektion av alla medlemmar oavsett Ă„tkomstspecifikationer;
- anvĂ€nder standardfunktioner i std::meta â utan kompilatorspecifika hacks;
- stödda kompilatorer: GCC 16+ (med alternativ -std=c++26 -freflection) och Bloomberg clang-p2996. För mer information se dokumentationen om reflektion i C++26.
- Möjlighet att konfigurera buffertstorlek i stream_request har lagts till.
- Felkorrigeringar av YAML-parsing.
KĂ€lla: linux.org.ru
