C++20
Jump to navigation
Jump to search
Some things that will be interesting to use once C++20 is common:
Feature | Since | Can use? | Apple Clang | Comment |
---|---|---|---|---|
std::span |
C++20 | from 1.3? | 11.0.3 | Handle buffers like standard library containers without risk of overflow. |
std::format |
C++20 | N/A | Better and more efficient formatting of strings. | |
std::lerp |
C++20 | from 1.4? | 11.0.3 | Linear interpolation. (ui/tools/pencil-tool.cpp) |
std::bit_floor |
C++20 | from 1.4? | 11.0.3/13.0.0 | (helper/mathfns.h) |
Concepts |
C++20 | from 1.4? | 12.0.0 Partial | Safer templating. (ui/controller.h) |
Coroutines |
C++20 | 10.0.1 Partial | (trace/trace.cpp) | |
std::make_unique_for_overwrite |
C++20 | N/A | (util/pool.cpp) | |
Ranges |
C++20 | from 1.4? | ? | for (init; decl : expr). (ui/dialog/swatches.cpp) |
Structural Templates |
C++20 | from 1.4? | ? | (display/drawing.cpp) |
As of 1 September 2023, the CI runners for MacOS are using Apple Clang 13.1.6 (ARM) and Apple Clang 14.0.0 (Intel64).