Minimum C++ standard: where should Boost.Graph draw the line? #486
Becheler
started this conversation in
Modern C++ & Language Integration
Replies: 2 comments
-
|
Coroutines isn't very useful by itself in C++20. It's a building block for later features that are useful. A generator was added in C++23 that uses it. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
concepts aren't just about better error messages. They're useful to define constraints that are expected by the class/function. Their use also documents the requirements, reducing the need to "document" the requirements. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Story
BGL currently requires C++14 as its minimum standard. The discussion surfaced repeated requests for features from newer standards:
std::executionpolicies for parallelism (mborland),Each of these would meaningfully improve BGL's API and implementation, but each one raises the minimum bar for users.
The tension is real. Some BGL users are on older compilers by necessity: embedded systems, HPC clusters with frozen toolchains, corporate environments with slow upgrade cycles. Raising the minimum standard helps new contributors and improves the API, but potentially abandons existing users.
@jeremy-murphy also flagged reducing compiler warnings as a priority, many of which come from patterns that are deprecated or superseded in newer standards.
Dream solution
Starting point
mborland's execution policy comment
joaquintides's concepts and ranges comment
Intermediary objective (45 min)
Read the starting points and discuss openly. Write down your findings on:
boost::graph::modern namespace question? Could the new namespace simply require C++20 while the legacy namespace stays at C++14?Beta Was this translation helpful? Give feedback.
All reactions