Boost logo

Boost :

Subject: Re: [boost] [config] Add BOOST_NO_RANGE_BASED_FOR macro?
From: Pyry Jahkola (pyry.jahkola_at_[hidden])
Date: 2012-07-10 12:02:30

A slight correction but still...

On 2012-07-10 10:18:04 +0000, Peter Dimov said:

> BOOST_NO_VARIADIC_MACROS means "variadic macros are not supported".

I'm sorry, but I think this is incorrect. AFAIK, the above naming would mean:

    "Variadic macros -- the feature required by the C++ standard -- are
not supported".

And of course, there was no such feature required before C++11.

For language extensions, there is a convention to call such macros in
the positive form using the word "has", e.g. BOOST_HAS_VARIADIC_MACROS.
More info:

> BOOST_NO_CXX11_VARIADIC_MACROS means "C++11 variadic macros are not
> supported, but other variadic macros may be".

This is correct, in a way, given that a future C++ standard may refine
the variadic macros somehow.

> This is why we have NO_CXX11_FUNCTIONAL, for example, and not just
> NO_FUNCTIONAL - <functional> is present, but the C++11 portions aren't.

This statement is correct, since the header <functional> was already
required in C++03.

Pyry Jahkola

Boost list run by bdawes at, gregod at, cpdaniel at, john at