Utgjeving 7.2.0 har funne stad høytpresterende biblioteket Glaze, laga for å lese og skrive JSON med brukervennlege funksjonar serialisering og deserialisering data.
Det støttar også CSV-format, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (valfritt, Erlang-bibliotek krevst for kompilering), YAML 1.2, Stencil og Mustache. Biblioteket er skrivne i C++ (header-only, standard C++23 og nyare) og er tilgjengelig under MIT-lisensen.
Glaze tilbyr òg støtte for REPE RPC og HTTP-server og -klient, med moderne C++-funksjonar, inkludert automatisk generering av REST API, støtte for WebSocket og SSL/TLS-kryptering.
Endringslogg:
- Glaze støttar no P2996 «Refleksjon for C++26». Denne støtta har lagt til moglegheiter som ikkje var tilgjengelege i tidlegare implementeringar av refleksjon ved kompilering:
- støtte for ikkje-aggregerte typar – klassar med konstruktørar, virtuelle funksjonar og arv fungerer som dei skal;
- automatisk serialisering av enum – glz::meta er ikkje påkravt, enum vert automatisk serialiserte til strenger;
- uavgrensa antal medlemmar i strukturar – utan tidlegare begrensing på 128 medlemmar;
- tilgang til private medlemmar – refleksjon av alle medlemmar, uavhengig av tilgangsspesifikatorar;
- bruker standardmoglegheiter frå std::meta – utan kompilator-spesifikke knep;
- støtta kompilatorar: GCC 16+ (med innstillingar -std=c++26 -freflection) og Bloomberg clang-p2996. For meir informasjon sjå dokumentasjonen om refleksjon i C++26.
- Moglegheita for å konfigurere størrelsen på bufferen i stream_request er lagt til.
- Feil i YAML-parsing er rettet.
Kilde: linux.org.ru
