Subject: Re: [boost] [config] What to call macros to indicate deprecated/removed components
From: Glen Fernandes (glen.fernandes_at_[hidden])
Date: 2017-04-16 11:53:40
On Sun, Apr 16, 2017 at 6:57 AM, John Maddock via Boost wrote:
> We now have several former C++ features which are removed in C++17:
> And we're getting requests for configuration macros for these, the question
> is what to call them?
> We could stick with the (easy to implement) existing naming and just use:
> or we could use:
> which is a bit more work as all the scripts that rely on the
> BOOST_NO/BOOST_HAS convention need updating.
> Any other suggestions/preferences?
> Thanks, John.
I like BOOST_NO_FEATURE for features just outright removed.
Removal probably doesn't require a C++ standard version in the macro
since its effects are the same even if it happens many times over, for
some reason. (e.g. If std::exchange was removed in C++20, then added
back in C++2y, then removed in C++2z, there would be no difference
between BOOST_CXX20_REMOVED_STD_EXCHANGE and
I just didn't like BOOST_NO_CXX17_FEATURE style if FEATURE does not
even exist in C++17 because it is misleading compared to the other
macros which check for existence of features.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk