LINUX.ORG.RU

Glaze 5.0.0 и 5.0.1

 , , , ,


1

3

5 и 20 марта состоялись выпуски 5.0.0 и 5.0.1 высокопроизводительной библиотеки Glaze, предназначенной для чтения и записи JSON.
Также поддерживаются форматы CSV и BEVE. Библиотека написана на языке C++ (header-only, стандарт C++23) и распространяется по лицензии MIT.

Список изменений:

  • Настраиваемые параметры во времени компиляции – структура glz::opts теперь содержит только опции по умолчанию, а более специализированные опции могут быть добавлены в пользовательские структуры опций.
  • Удалено пространство имен detail для специализаций to/from.
  • glz::detail::read заменена на glz::parse, а glz::detail::write на glz::serialize.
  • Добавлены концепты write_supported и read_supported, что упростило код и сделало добавление новых форматов более чистым и возможным для пользователей, без необходимости вносить изменения в основной код Glaze.
  • glz::manage теперь не зависит от формата и работает с другими форматами, помимо JSON.
  • Вместо glz::expected теперь всегда используется std::expected из C++23.
  • Рефакторинг кода.
  • Исправлены обнаруженные ошибки.

>>> Подробности на GitHub

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от water_closed

В некоторых областях, например crypto hft, выбора особого нет

Reset ★★★★★
()
Ответ на: комментарий от water_closed

Иногда нужно стыковаться с другой системой, которая уже выдаёт/принимает JSON.

А ещё JSON прост как пробка, стандартизирован и имеет либы под любой язык. Какой-нибудь protobuf слегка vendor-lock, пусть и OpenSource.

То есть если встаёт задача выбрать что-то простое и максимально нейтральное как формат обмена данными между системами, то альтернатив JSON не сказать, что бы много. Бинарные форматы либо прибиты к конкретным либам/фреймворкам, либо имеют недостаточно широкую поддержку.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.