Glaze 4.3.0
6 января состоялся выпуск 4.3.0 одной из самых быстрых библиотек чтения и записи JSON, написанной на языке C++ (header-only, стандарт C++23) и распространяемой по лицензии MIT.
Также поддерживаются форматы CSV и BEVE.
Список изменений:
- Добавлена compile-time опция (и враппер)
append_arrays
, которая добавляет данные к типам, подобнымstd::vector
без их перезаписи:
std::vector v{};
constexpr glz::opts append_opts{.append_arrays = true};
expect(not glz::read(v, "[1,2,3]"));
expect(v == std::vector{1,2,3});
expect(not glz::read(v, "[4,5,6]"));
expect(v == std::vector{1,2,3,4,5,6});
- Добавлена поддержка динамически изменяемых типов библиотеки Eigen.
- Добавлена поддержка рефлексии векторных типов Eigen.
- Улучшена
glz::async_string
с большим количеством методов и поддержкойstd::format
. - Рефакторинг записи
map
. - Исправление
always_null_t
в работе с объектами и более быстрая записьвсегда null
. - Более эффективные числовые ключи в динамических
map
.
>>> Список изменений версии 4.3.0 на GitHub