dxx-rebirth/Documentation/c++std.markdown
2022-11-06 18:18:57 +00:00

7.2 KiB

DXX-Rebirth requires a compiler that implements the C++20 standard. A fully conforming compiler is recommended, but some omissions can be handled by SConf tests that enable a fallback to emulate the feature.

Required C++11 features

DXX-Rebirth code uses C++20 features present in >=clang-14.0 and >=gcc-10.4. Some of these features are probed in the SConf tests so that an error can be reported if the feature is missing. However, since these are considered the minimum supported compiler versions, and existing SConf tests reject older compilers, some C++20 features that are new in gcc-10.4 may be used without a corresponding test in SConf.

These C++11 features are required to build DXX-Rebirth:

Required C++14 features

  • std::index_sequence is a compile-time sequence of integers.
  • std::exchange is a utility to update a variable, and yield the value it had before the update
  • std::make_unique is a convenience utility function for constructing std::unique_ptr with a managed value.

Required C++17 features

Required C++20 features