Difference between revisions of "Cpp features blocked by version"
From The Battle for Wesnoth Wiki
(→Features: added starts_with and ends_with) |
m (→Features) |
||
Line 17: | Line 17: | ||
| Modules || Faster compile time || Unknown || Unknown || Unknown || While part of C++20, usable support seems to be progressing very slowly. | | Modules || Faster compile time || Unknown || Unknown || Unknown || While part of C++20, usable support seems to be progressing very slowly. | ||
|- | |- | ||
− | | std::starts_with and ends_with || Simplies string checking in various places, including filesystem || MSVC STL 19.21* || Apple Clang 10.0.0* || GCC libstdc++ 9/Clang libc++ 6 || | + | | std::starts_with and ends_with || Simplies string checking in various places, including filesystem || MSVC STL 19.21* || Apple Clang 10.0.0* || GCC libstdc++ 9/Clang libc++ 6 || |
|} | |} |
Revision as of 03:32, 25 July 2024
Contents
Summary
This is a listing of C++ features that would be useful to have but can't yet use. The Feature column is the language or standard library feature (https://en.cppreference.com/w/cpp/compiler_support is a good reference). The Benefit column is what having this feature will allow to be done. The remaining three columns are for the minimum requirements for the feature to be available on each platform. The minimum requirements can be anything - Visual Studio version, compiler version, OS version, etc.
Benefits that don't justify version increases
This is a non-exhaustive list:
- Improving compile speed.
Benefits that do justify version increases
This is a non-exhaustive list:
- Required to fix a bug that has a significant impact to players.
Features
Feature | Benefit | Windows | macOS | Linux | Notes |
---|---|---|---|---|---|
Modules | Faster compile time | Unknown | Unknown | Unknown | While part of C++20, usable support seems to be progressing very slowly. |
std::starts_with and ends_with | Simplies string checking in various places, including filesystem | MSVC STL 19.21* | Apple Clang 10.0.0* | GCC libstdc++ 9/Clang libc++ 6 |