On January 6, version 4.3.0 of one of the fastest libraries for reading and writing JSON, written in C++ (header-only, C++23 standard) and distributed under the MIT license.
CSV formats are also supported, and BEVE.
Change log:
- A compile-time option (and wrapper) append_arrays has been added, which appends data to types like std::vector without overwriting them:
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});
- Support for dynamically changing types of the Eigen library has been added.
- Support for reflection on Eigen vector types has been added.
- Improved glz::async_string with more methods and support for std::format.
- Refactored map writing.
- Fixed always_null_t in working with objects and achieved faster writing of always null.
- More efficient numeric keys in dynamic maps.
Source: linux.org.ru
