
On Dec 13, 2012, at 8:06 AM, Krzysztof Czainski <1czajnik@gmail.com> wrote:
2012/12/13 Marshall Clow <mclow.lists@gmail.com>
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@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki