|
Boost : |
Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
From: Jared Grubb (jared.grubb_at_[hidden])
Date: 2018-02-09 18:08:57
> El feb. 9, 2018, a las 08:15, Paul A. Bristow via Boost <boost_at_[hidden] <mailto:boost_at_[hidden]>> escribió:
>
> Historically Boost has always taken the line that *each library* is allowed to set its minimum compiler/standard level.
>
> So if a library declares it needs C++11 (or indeed C++14, C++17, C++20 ...), then thatâs fine. In fact, it's more than fine - it's excellent ;-)
Really? Your email lays out the obstacles nicely, but you're more optimistic than I am :)
Is there an example of an existing library that ditched C++03 support?
If a library with no dependents (say, boost::log or boost::process) declared they were going C++11-only in boost-1.70, would that really be allowed? Or would they be required to fork a v11 in order to avoid breaking compatibility?
If a library with dependents (say, boost::date_time) wanted to go C++11, would the community rally to push its dependent libraries to move too?
Boost serves two roles: (1) making cool things work on "all" compilers (even older/buggy ones); and (2) doing cool things that push the limits of the language but require newer support. The gulf between the two is growing and eventually the whole project will need to roll forward its minimum version to keep the surface area sane. I think we're nearing that inflection point, but I sure don't know how to break the stalemate.
Jared
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk