Whyever **not** declare a function to be `constexpr`?
Functions can only be declared constexpr if they obey the rules for constexpr — no dynamic casts, no memory allocation, no calls to non-constexpr functions, etc. Declaring a function in the standard library as constexpr requires that ALL implementations obey those rules. Firstly, this requires checking for each function that it can be implemented as … Read more