From 070a1171d370a9189438a59f4d6f299264466634 Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Mon, 1 Jun 2026 08:50:09 -0700 Subject: [PATCH] #213 recommended min c++ version --- docs/beman_standard.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/beman_standard.md b/docs/beman_standard.md index 7270f9e..9221c9c 100644 --- a/docs/beman_standard.md +++ b/docs/beman_standard.md @@ -864,3 +864,7 @@ for an example. ### **[cpp.extension_identifiers]** **Recommendation**: For functionality that is not being recommended for standardization, but is an extension provided by the library, its identifiers should be prefixed with `ext_`. + +### **[cpp.min_std_version]** + +**Recommendation**: Beman authors can choose the minimum C++ standard version their library will support. C++20 is the recommended default because concepts and other C++20 features significantly simplify both implementation and code review. Additionally, most future Beman libraries target C++29 or beyond, making C++20 a practical baseline. That said, supporting C++17 is also reasonable if an author has specific motivation to do so. Some libraries may require a higher minimum version for features like C++26 reflection or other recent language capabilities. The readme should prominently display the minimum supported C++ standard version so users can quickly assess compatibility with their projects. Note that C++ modules are only supported in C++23 and later due to `import std`, and this requirement should be clearly documented in the readme as well.