Boost logo

Boost :

Subject: Re: [boost] Visual Studio 2015 Update 3 has removed std::unary_function and std::binary_function
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-11-06 10:59:20


On 11/6/2016 10:31 AM, Daniela Engert wrote:
> Am 06.11.2016 um 15:51 schrieb Edward Diener:
>> On 11/6/2016 1:14 AM, Daniela Engert wrote:
>>> Am 05.11.2016 um 20:21 schrieb Marshall Clow:
>>>> ... if you build with /std:c++latest.
>>>
>>> I can send out PRs to library authors interested in that and help
>>> working on a converged Boost-wide solution
>>
>> A number of changes require c++11 support so you can't just blindly
>> introduce such changes for libraries which also support c++03.
>
> As the maintainer of our in-house Boost distribution I have the freedom
> to do so, and I have no other choice but to make boost work with recent
> versions of msvc and /std:c++latest. I am perfectly aware of the fact
> that changes to make this happen may clash with c++03 and the possible
> lack of features introduced with c++11. Therefore I am sending out PRs
> for people to see what changes are required as bare minimum in a c++11
> environment. Based upon that we may mull over c++03 compatible changes
> if needed.

My point is that if the Boost library supports c++03 then your PRs will
be rejected if the change(s) in them do not take that into account for
the relevant changes. As an example if you want to change
'std::auto_ptr' to 'std::unique_ptr' in some library which supports
c++03, you need to check whether or not 'std::unique_ptr' is supported
for a particular compilation, using the Boost config macro
BOOST_NO_CXX11_SMART_PTR.

I understand that you have the freedom to dictate what your own in-house
Boost distribution supports, but when you create PRs for Boost libraries
in general you need to take into account how anybody might use a
particular Boost library and not just yourself.

With all that said PRs are always appreciated for those who are willing
to create them properly.

>
> One note: my /std:c++latest-capable version of 1.62 passed the full test
> suite when compiled with vc14 update 3 in the same way as the Boost
> master test matrix showed (well, with fewer test failures in some
> cases). And I always run the test suite in all four combinations of
> 32/64 bit and debug/release mode to monitor the different outcomes that
> become apparent when doing so.
>
> Ciao
> Dani


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk