#include <ugmisc/features.hpp>
Static Public Attributes | |
| static constexpr bool | constexpr_destructors = compiler and library dependent |
| static constexpr bool | consteval_functions = compiler and library dependent |
| static constexpr bool | consteval_if = compiler and library dependent |
| static constexpr bool | bit_cast = compiler and library dependent |
| static constexpr bool | bitops = compiler and library dependent |
| static constexpr bool | constexpr_swap_algorithms = compiler and library dependent |
| static constexpr bool | unreachable = compiler and library dependent |
A struct containing static constexpr bools indicating language and library features. The definition of this struct is a long list in which the corresponding macro definitions are also made.
For each of these bools, there is also a macro which is defined if true, or undefined otherwise.
|
staticconstexpr |
std::bit_cast provides the underlying representation of one type and treats it as another type, even in a constant expression. bit_cast is true if the function is available.
|
staticconstexpr |
Indicates that the standard library supports bitops (countleft_zero etc).
|
staticconstexpr |
True if the consteval keyword is supported.
|
staticconstexpr |
True if the 'consteval if' language feature is supported.
|
staticconstexpr |
Destructors can be constexpr from C++20.
The value of this bool member is usually based only on the value of the predefined __cplusplus macro. However the macro UGMISC_HAVE_CONSTEXPR_DESTRUCTORS or UGMISC_NO_CONSTEXPR_DESTRUCTORS can be predefined to override that behaviour.
|
staticconstexpr |
swap, exchange etc are constexpr.
|
staticconstexpr |
true if std::unreachable() exists.