Subject: Re: [boost] [c++1] BOOST_NOEXCEPT macros?
From: Beman Dawes (bdawes_at_[hidden])
Date: 2011-10-11 08:09:09
On Mon, Oct 10, 2011 at 11:59 PM, Robert Kawulak
>> From: Beman Dawes
>> > Then maybe at one go add BOOST_OVERRIDE and BOOST_FINAL? (note that
>> > supports them since VS 2005 but uses sealed rather than final, making
>> > macros even more desirable for better portability).
>> Care to submit patches?
> OK, but one thing is unclear to me. Along with BOOST_OVERRIDE and
> BOOST_FINAL, the corresponding BOOST_NO_<feature> macro(s) should be
> provided. There are several possibilities:
> - provide BOOST_NO_VIRT_SPECIFIERS,
> - provide BOOST_NO_OVERRIDE_FINAL (or
> - provide BOOST_NO_OVERRIDE and BOOST_NO_FINAL (or
> BOOST_NO_OVERRIDE_VIRT_SPECIFIER and BOOST_NO_FINAL_VIRT_SPECIFIER).
> BOOST_NO_VIRT_SPECIFIERS has the problem that if a future C++ revision adds
> more specifiers (i.e., explicit/new) then the meaning will become ambiguous.
> BOOST_NO_OVERRIDE_FINAL is better in this respect, but it has another
> problem that applies to BOOST_NO_VIRT_SPECIFIERS as well: currently there
> are compilers (MSVC >= 8.0) supporting override but not final (they use
> sealed keyword instead). On the other hand, BOOST_NO_OVERRIDE and
> BOOST_NO_FINAL may be a bit too fine-grained. What do you and the others
There is another issue I should have mentioned earlier: Do these
features actually impact any Boost code? We don't want to waste
people's time working on config support that isn't going to be used.
To answer your question, BOOST_NO_OVERRIDE and BOOST_NO_FINAL may be
fine grained, but they make life easier if some compiler implements
one but not the other.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk