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
.