[SG10] Generalized/relaxed const. expr.
Jens Maurer
Jens.Maurer at gmx.net
Tue Jun 4 22:30:28 CEST 2013
On 06/04/2013 05:33 PM, Nelson, Clark wrote:
> I note that no one has (yet) specifically argued that the difference
> between C++11 and C++14 in this area is subtle or minor -- that being
> the criterion I would prefer for using a different macro value,
> instead of a different name.
>From an engineering tidiness point-of-view, I do have a preference
to change macro values instead of having more macro name pollution.
Remember we'll have >100 macro names within a decade or so, all
addressing one or the other corner of the language.
#if __cpp_constexpr > 201300
... // stellar constexpr
#elif __cpp_constexpr
... // use ugly recursion to simulate iteration
#else
... // just give up
#endif
seems reasonable, and compares well against
#if __cpp_constexpr_iteration
#elif __cpp_constexpr
#endif
Whatever macro name we choose, it's likely that you need an additional
comment in your source code to explain what the precise sub-feature
is you're depending on, so simply using __cpp_constexpr seems to give
enough of a clue for my taste. (I don't buy the "minor feature"
argument here, but that's just my weak personal opinion.)
Thanks,
Jens
More information about the Features
mailing list