
So how about a<boost/detail/noexcept.hpp> header with the usual boilerplate and this:
#ifndef BOOST_NO_NOEXCEPT # define BOOST_NOEXCEPT # define BOOST_NOEXCEPT_IF(Predicate) #else # define BOOST_NOEXCEPT no_except # define BOOST_NOEXCEPT_IF(Predicate) no_except(Predicate) #endif
As was pointed out in a previous thread, there isn't any reliable C++03 alternative for either of these two, so nothing is attempted, and that's OK in C++03 code.
We could also define BOOST_NOEXCEPT_OPERATOR(Predicate), and have it fall back to true in C++03 code. I'm not expert enough to know if that is reliable or even useful, so am not proposing it.
Comments?
No substantive comments at the moment, I just want to check spelling: "noexcept" or "no_except"? I had thought it was the former; your macro definitions suggest the latter.
Good idea. I would prefer if these macros are added to Boost.Config, documented and in file boost/config/suffix.hpp.
That would be my idea too: add them to config/suffix.hpp and document them as part of Boost.Config's "Helper macros". John.