Skip to content

Require C++23#1149

Merged
stephenberry merged 3 commits intomainfrom
require_cxx_23
Jul 15, 2024
Merged

Require C++23#1149
stephenberry merged 3 commits intomainfrom
require_cxx_23

Conversation

@stephenberry
Copy link
Copy Markdown
Owner

@stephenberry stephenberry commented Jul 15, 2024

This merge updates Glaze to begin requiring C++23. There are no breaking C++20 changes here, but this will allow Glaze development to begin introducing C++23 features and performance improvements.

All compilers that built Glaze with C++20 already support C++23, so this should not be an issue for users.

With the v3.0.0 release coming, it makes sense to make this change now, rather than waiting for v4.0.0

A big reason to move to C++23 is the support for static constexpr within constexpr functions, which will allow the underlying architecture to be cleaner.

There are a number of other features that will clean up Glaze, e.g. removing glz::expected, std::string's resize_and_overwrite, more constexpr support, etc.

I don't expect to immediately break C++20 builds, but I want to be able to come version 3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant