Glaze 7.2.0 Glaze 7.2.0

Бостоялся выпуск 7.2.0 Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Glaze, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для чтСния ΠΈ записи JSON с ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ возмоТностями сСриализации ΠΈ дСсСриализации Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, для компиляции Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Erlang), YAML 1.2, Stencil ΠΈ Mustache. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° написана Π½Π° языкС C++ (header-only, стандарт C++23 ΠΈ Π²Ρ‹ΡˆΠ΅) ΠΈ распространяСтся ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ MIT.

Glaze Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ REPE RPC ΠΈ сСрвСр ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ HTTP, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ соврСмСнныС возмоТности C++, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ REST API, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ WebSocket ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ SSL/TLS.

Бписок измСнСний:

  • Glaze Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ P2996 Β«Reflection for C++26Β». Π­Ρ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° возмоТности, нСдоступныС Π² ΠΏΡ€Π΅ΠΆΠ½ΠΈΡ… рСализациях рСфлСксии Π½Π° этапС компиляции:
    • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² – классы с конструкторами, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями ΠΈ наслСдованиСм просто Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚;
    • автоматичСская сСриализация пСрСчислСний – glz::meta Π½Π΅ трСбуСтся, пСрСчислСния автоматичСски ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² строки;
    • Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Ρ‡Π»Π΅Π½ΠΎΠ² структуры – Π±Π΅Π· ΠΏΡ€Π΅ΠΆΠ½Π΅Π³ΠΎ ограничСния Π² 128 Ρ‡Π»Π΅Π½ΠΎΠ²;
    • доступ ΠΊ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ – рСфлСксия всСх Ρ‡Π»Π΅Π½ΠΎΠ², нСзависимо ΠΎΡ‚ спСцификаторов доступа;
    • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ стандартныС возмоТности std::meta – Π±Π΅Π· спСцифичных для компилятора Ρ…Π°ΠΊΠΎΠ²;
    • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ компиляторы: GCC 16+ (с опциями-std=c++26 -freflection) ΠΈ Bloomberg clang-p2996. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ см. Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ рСфлСксии C++26.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ конфигурирования Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° Π² stream_request.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки парсинга YAML.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ