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
