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
