Die Veröffentlichung 7.2.0 fand statt. hochleistungsfÀhig Bibliothek Glaze, entwickelt zum Lesen und Schreiben von JSON mit komfortablen Funktionen zur Serialisierung und Deserialisierung von Daten.
Es werden auch CSV-Formate unterstĂŒtzt, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (optional, fĂŒr die Kompilierung sind Erlang-Bibliotheken erforderlich), YAML 1.2, Stencil und Mustache. Die Bibliothek ist in C++ geschrieben (header-only, Standard C++23 und höher) und wird unter der MIT-Lizenz verteilt.
Glaze bietet auch UnterstĂŒtzung fĂŒr REPE RPC und Server und Client HTTP, unter Nutzung modernster C++-Funktionen, einschlieĂlich der automatischen Generierung von REST-APIs, UnterstĂŒtzung fĂŒr WebSocket und SSL/TLS-VerschlĂŒsselung.
Ănderungsprotokoll:
- Glaze unterstĂŒtzt jetzt P2996 «Reflection for C++26». Diese UnterstĂŒtzung fĂŒgte Funktionen hinzu, die in frĂŒheren Implementierungen der Compile-Time-Reflexion nicht verfĂŒgbar waren:
- UnterstĂŒtzung fĂŒr nicht-agregierte Typen â Klassen mit Konstruktoren, virtuellen Funktionen und Vererbung funktionieren einfach;
- automatische Serialisierung von Enumerationen â glz::meta ist nicht erforderlich, Enumerationen werden automatisch in Strings serialisiert;
- unbegrenzte Anzahl an Strukturmitgliedern â ohne frĂŒhere BeschrĂ€nkung auf 128 Mitglieder;
- Zugriff auf private Mitglieder â Reflexion aller Mitglieder, unabhĂ€ngig von Zugriffsmodifikatoren;
- es werden die Standardfunktionen std::meta verwendet â ohne compiler-spezifische Hacks;
- UnterstĂŒtzte Compiler: GCC 16+ (mit Optionen -std=c++26 -freflection) und Bloomberg clang-p2996. Weitere Details siehe Dokumentation zur Reflexion C++26.
- Die Möglichkeit, die PuffergröĂe in stream_request zu konfigurieren, wurde hinzugefĂŒgt.
- Fehler beim Parsen von YAML wurden behoben.
Quelle: linux.org.ru
