IznÄkusi versija 7.2.0 augstas veiktspÄjas bibliotÄka Glaze, kas paredzÄta JSON lasīŔanai un rakstīŔanai ar ÄrtÄm funkcijÄm seriÄlizÄcijai un deseriÄlizÄcijai datiem.
Atbalsta arÄ« CSV formÄtus, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (pÄc izvÄles, kompileÅ”anai nepiecieÅ”amas Erlang bibliotÄkas), YAML 1.2, Stencil un Mustache. BibliotÄka uzrakstÄ«ta C++ (header-only, C++23 un jaunÄkÄm versijÄm) un izplatÄ«ta ar MIT licenci.
Glaze nodroÅ”ina arÄ« atbalstu REPE RPC un HTTP serverim un klientam, izmantojot modernas C++ funkcijas, tostarp automÄtisku REST API Ä£enerÄÅ”anu, WebSocket atbalstu un SSL/TLS Å”ifrÄÅ”anu.
IzmaiÅu saraksts:
- Glaze tagad atbalsta P2996 Ā«Reflection for C++26Ā». Å is atbalsts pievienoja iespÄjas, kas iepriekÅ”ÄjÄs kompilÄcijas laikÄ bijuÅ”as nepieejamas:
- atbalsts neagregÄtu tipiem ā klases ar konstruktoriem, virtuÄlajÄm funkcijÄm un mantojumu vienkÄrÅ”i strÄdÄ;
- automÄtiska enumerÄciju seriÄlizÄcija ā glz::meta nav nepiecieÅ”ama, enumerÄcijas automÄtiski seriÄlizÄjas virknes formÄtÄ;
- neierobežots laukumu skaits struktÅ«rÄ ā bez iepriekÅ”Äja ierobežojuma 128 laukumiem;
- piekļuve privÄtajiem laukiem ā refleksija visiem laukiem, neatkarÄ«gi no piekļuves specifikatoriem;
- tiek izmantotas standarta std::meta funkcijas ā bez kompilatora specifiskiem risinÄjumiem;
- atbalstÄ«tie kompilatori: GCC 16+ (ar opcijÄm -std=c++26 -freflection) un Bloomberg clang-p2996. SÄ«kÄka informÄcija skat. dokumenti par C++26 refleksiju.
- Pievienota iespÄja konfigurÄt bufera lielumu stream_request.
- Izlabotas YAML parsÄÅ”anas kļūdas.
Avots: linux.org.ru
