Bylo vydáno 7.2.0 vysoce výkonný knihovny Glaze, určené ke čtení a zápisu JSON s pohodlnými funkcemi serializace a deserializace dat.
Také podporuje formáty CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (volitelně, k sestavení jsou vyžadovány knihovny Erlang), YAML 1.2, Stencil a Mustache. Knihovna je napsána v jazyce C++ (header-only, standard C++23 a vyšší) a je distribuována pod licencí MIT.
Glaze také poskytuje podporu REPE RPC a server a klient HTTP, využívající moderní možnosti C++, včetně automatické generace REST API, podpory WebSocket a šifrování SSL/TLS.
Seznam změn:
- Glaze nyní podporuje P2996 „Reflection for C++26“. Tato podpora přidala funkce, které nebyly dostupné v předchozích implementacích reflexe při kompilaci:
- podpora neagregovaných typů – třídy s konstruktory, virtuálními funkcemi a dědění prostě fungují;
- automatická serializace výčtů – glz::meta není vyžadováno, výčty se automaticky serializují do řetězců;
- neomezený počet členů struktury – bez předchozího omezení na 128 členů;
- přístup k soukromým členům – reflexe všech členů, bez ohledu na specifikátory přístupu;
- využívají se standardní možnosti std::meta – bez specifických hacků pro kompilátor;
- podporované kompilátory: GCC 16+ (s volbami -std=c++26 -freflection) a Bloomberg clang-p2996. Podrobněji viz dokumentaci o reflexi C++26.
- Byla přidána možnost konfigurování velikosti bufferu v stream_request.
- Opraveny chyby při parsování YAML.
Zdroj: linux.org.ru
