Boost logo

Boost :

Subject: Re: [boost] Another set of macros to deprecate (and then remove)?
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2012-12-13 12:05:22


On Dec 13, 2012, at 8:06 AM, Krzysztof Czainski <1czajnik_at_[hidden]> wrote:
> 2012/12/13 Marshall Clow <mclow.lists_at_[hidden]>
>
>> There are a set of macros in Boost.config that describe "features that are
>> not required by the C++ standard"
>>
>> Some of these features have been incorporated into C++11.
>>
>> I propose that we retire these macros, and have people use the shiny C++11
>> versions.
>>
>> In particular:
>> BOOST_HAS_STATIC_ASSERT should be ! BOOST_NO_CXX11_ASSERT
>> BOOST_HAS_VARIADIC_TMPL should be !
>> BOOST_NO_CXX11_VARIADIC_TEMPLATES
>> BOOST_HAS_RVALUE_REFS should be ! BOOST_NO_CXX11_RVALUE_REFERENCES
>> BOOST_HAS_CHAR_16_T should be ! BOOST_NO_CXX11_CHAR_16_T
>> BOOST_HAS_CHAR_32_T should be ! BOOST_NO_CXX11_CHAR_32_T
>>
>
> Aren't char_16_t and char_32_t optional in C++11?

I don't believe that they are.

> FWIU, the macros BOOST_NO_CXX11_* are for features required in C++11, aren't they?

They are for C++11 features that are part of the language, but that compilers and/or standard libraries haven't implemented (yet).

You could certainly make an argument that we should be able to take advantage off of pre-C++11 compilers that implement char16_t and char32_t, and I would be sympathetic to that argument - but I can't find any uses of BOOST_HAS_CHAR_16_T and BOOST_HAS_CHAR_32_T in Boost at this time.

-- Marshall

Marshall Clow Idio Software <mailto:mclow.lists_at_[hidden]>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
        -- Yu Suzuki


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