Boost logo

Boost :

Subject: Re: [boost] [config] Add BOOST_NO_RANGE_BASED_FOR macro?
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2012-07-10 10:02:58


On Jul 10, 2012, at 6:44 AM, Beman Dawes wrote:

> On Tue, Jul 10, 2012 at 4:03 AM, John Maddock <boost.regex_at_[hidden]> wrote:
>>> (Putting his money where his mouth is)
>>>
>>> Here's a patch vs. the trunk which renames all the macros in the table
>>> "Macros that describe C++11 features not supported" (with the notable
>>> exception of >BOOST_NO_LONG_LONG) to have consistent names.
>>> For example:
>>> BOOST_NO_VARIADIC_MACROS --> BOOST_NO_CXX11_VARIADIC_MACROS
>>>
>>> All the old names are then #defined to be the same as the new names;
>>> All the code and tests in config has been updated to use the new names.
>>> All the old names have been put into the "Boost Deprecated Macros" table.
>>>
>>> The goal here is no changes to client code (including code in boost
>>> outside of the config library).
>>> This seems to work fine on my system (Mac with gcc and clang)
>>>
>>> Now Beman can define "BOOST_NO_CXX11_RANGE_BASED_FOR" and it will match
>>> the style with other macros.
>>>
>>> Comments?
>>
>>
>> Based on casting a mark 1 eyeball over the diffs, I'm happy with that going
>> in.
>
> OK, I'm on board.
>
> I'll wait until Marshall applies his patch before adding the
> range-based-for-statement macro.

Committed in revision 79400.
Since the -commits list is still down, here's a list of the old macros and the new ones:

BOOST_NO_AUTO_DECLARATIONS BOOST_NO_CXX11_AUTO_DECLARATIONS
BOOST_NO_AUTO_MULTIDECLARATIONS BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
BOOST_NO_CHAR16_T BOOST_NO_CXX11_CHAR16_T
BOOST_NO_CHAR32_T BOOST_NO_CXX11_CHAR32_T
BOOST_NO_TEMPLATE_ALIASES BOOST_NO_CXX11_TEMPLATE_ALIASES
BOOST_NO_CONSTEXPR BOOST_NO_CXX11_CONSTEXPR
BOOST_NO_DECLTYPE BOOST_NO_CXX11_DECLTYPE
BOOST_NO_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE_N3276
BOOST_NO_DEFAULTED_FUNCTIONS BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
BOOST_NO_DELETED_FUNCTIONS BOOST_NO_CXX11_DELETED_FUNCTIONS
BOOST_NO_EXPLICIT_CONVERSION_OPERATORS BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
BOOST_NO_EXTERN_TEMPLATE BOOST_NO_CXX11_EXTERN_TEMPLATE
BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
BOOST_NO_LAMBDAS BOOST_NO_CXX11_LAMBDAS
BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
BOOST_NO_NOEXCEPT BOOST_NO_CXX11_NOEXCEPT
BOOST_NO_NULLPTR BOOST_NO_CXX11_NULLPTR
BOOST_NO_RAW_LITERALS BOOST_NO_CXX11_RAW_LITERALS
BOOST_NO_RVALUE_REFERENCES BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_NO_SCOPED_ENUMS BOOST_NO_CXX11_SCOPED_ENUMS
BOOST_NO_STATIC_ASSERT BOOST_NO_CXX11_STATIC_ASSERT
BOOST_NO_STD_UNORDERD BOOST_NO_CXX11_STD_UNORDERD
BOOST_NO_UNICODE_LITERALS BOOST_NO_CXX11_UNICODE_LITERALS
BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
BOOST_NO_VARIADIC_TEMPLATES BOOST_NO_CXX11_VARIADIC_TEMPLATES
BOOST_NO_VARIADIC_MACROS BOOST_NO_CXX11_VARIADIC_MACROS

-- Marshall


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk