Skip to content

v3.4.0

Compare
Choose a tag to compare
@stephenberry stephenberry released this 16 Sep 15:48
· 355 commits to main since this release

Breaking Change of glz::nameof enum interface

The typical use case of glz::enumerate within a glz::meta has been unaffected, and therefore most users will be unaffected by this change.

This update removes the enum_macro.hpp header (GLZ_ENUM and GLZ_ENUM_MAP) and adds a new glz::meta approach that takes an array of keys and an array of values. This keys/values approach only supports enums in Glaze (currently to support faster internal compilation of enums), but broader support can be added in the future.

The enum_macro approach of using ADL created issues with other repositories that would declare a namespace nameof, and the macro expansion increased compilation time and was not a good, generic solution.

glz::nameof function for internal Glaze enums has been removed.

by @stephenberry in #1297

Other Fixes

  • fixes min/max macro conflict in dragonbox.hpp on MSVC by @lambwheit in #1298
  • glz::meta keys for enums, removing nameof ADL and enum_macro.hpp

Experimental glz::asio_client changes

Full Changelog: v3.3.4...v3.4.0