Date: Mon, 3 Jun 2013 23:52:47 +0000
I wanted to get feedback from authors of proposals on macro names to represent their features as soon as possible; I started by turning Tom's list of C++11 features into a table in the same style as what we already have for C++14. (As background, please remember that, to the greatest degree that makes sense, I'm tending to use words from the title of the proposal paper to name the feature-test macro.)
The title of N2235, by which "constexpr" was introduced into C++, was basically "Generalized Constant Expressions". So the more or less mindless name of the macro might be "__cpp_generalized_constant".
Whereas N3652, which eliminates the constraints on a constexpr function, is entitled, in part, "Relaxing constraints on constexpr functions"; hence "__cpp_relaxed_constexpr".
It hardly seems likely that we will want to use the word "generalized" as part of two different macro names regarding constexpr -- but we could conceivably decide that this is a case for changing the value of a macro, instead of defining a new one.
>From my perspective as an implementer, the change that was voted into C++14 doesn't seem minor or subtle, but I guess opinions might differ.
Comments?
Clark
The title of N2235, by which "constexpr" was introduced into C++, was basically "Generalized Constant Expressions". So the more or less mindless name of the macro might be "__cpp_generalized_constant".
Whereas N3652, which eliminates the constraints on a constexpr function, is entitled, in part, "Relaxing constraints on constexpr functions"; hence "__cpp_relaxed_constexpr".
It hardly seems likely that we will want to use the word "generalized" as part of two different macro names regarding constexpr -- but we could conceivably decide that this is a case for changing the value of a macro, instead of defining a new one.
>From my perspective as an implementer, the change that was voted into C++14 doesn't seem minor or subtle, but I guess opinions might differ.
Comments?
Clark
Received on 2013-06-04 01:53:05