6 ΡΠ½Π²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ 4.3.0 ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ
Π±ΡΡΡΡΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ JSON, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ C++ (header-only, ΡΡΠ°Π½Π΄Π°ΡΡ C++23) ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ MIT.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΠΌΠ°ΡΡ CSV ΠΈ BEVE.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° compile-time ΠΎΠΏΡΠΈΡ (ΠΈ Π²ΡΠ°ΠΏΠΏΠ΅Ρ) append_arrays, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΊ ΡΠΈΠΏΠ°ΠΌ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ std::vector Π±Π΅Π· ΠΈΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ:
std::vector<int> v{}; constexpr glz::opts append_opts{.append_arrays = true}; expect(not glz::read<append_opts>(v, "[1,2,3]")); expect(v == std::vector<int>{1,2,3}); expect(not glz::read<append_opts>(v, "[4,5,6]")); expect(v == std::vector<int>{1,2,3,4,5,6});
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΡΠΈΠΏΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Eigen.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Eigen.
- Π£Π»ΡΡΡΠ΅Π½Π° glz::async_string Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ std::format.
- Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π·Π°ΠΏΠΈΡΠΈ map.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ always_null_t Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π²ΡΠ΅Π³Π΄Π° null.
- ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ map.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru