$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [parameter] Go C++11 and above only, or keep C++03 support?
From: Mike Dev (mike.dev_at_[hidden])
Date: 2018-11-05 13:05:39
> -----Original Message-----
> From: Boost <boost-bounces_at_[hidden]> On Behalf Of Paul A. Bristow via Boost
> Sent: Monday, November 5, 2018 1:26 PM
> 
> My view is that it is up to you to decide (but asking for views is good too).
> 
> If it is not too difficult to make it continue to be C++03 compatible and yet allow C++11
> (or higher) improvements then you should
> do this.
> 
> For example, if you can easily write
> 
> #ifdef BOOST_NO_C11_feature
> 
>   do the current C++03 stuff (even full function definition)
> 
> #else
> 
>   do the enhanced version
> 
> #endif
> 
> then you should do so, in order to avoid, as RyanAir CEO Michael O'Leary put it
> 
>  "We should try to eliminate things that unnecessarily piss people off,"
> 
> (See https://www.reuters.com/article/us-ryanair/ryanair-unveils-new-strategy-be-nice-to-
> customers-idUSBRE98J0DF20130920 for sordid
> details)
Just saying.
#ifdef BOOST_NO_C11_feature 
can become extremely annoying for the user, because you effectively have to make sure that
all translation units including that header have to be compiled with the same c++ 
standard setting (yes, it isn't actually necessary when you are careful, but the complexity
and testing overhead will probably negate much of the advantage you gain by using c++11
features instead of 03 workarounds).
> but if this proves difficult (and trying it may be the only way to find out) then you
> should announce that it will require some
> C++11 feature one release ahead of the change.
I'd give a two release heads up (Announce the change in 1.69, put an compilation warning in 1.70 and then start using
the c++11 features in 1.71).
Although there was tentatively agreement on the ML that c++03 support should be dropped 
on a general boost-wide level and that that would also mean that maintainers can drop their individual c++03 support
without prior announcement, this has not yet become official policy 
or widely announced, so I'd tread carefully here. 
Best
Mike