Glaze 4.3.0

good-penguin.png

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

©  Linux.org.ru