Subject: Re: [boost] Visual Studio 2015 Update 3 has removedstd::unary_functionand std::binary_function
From: Peter Dimov (lists_at_[hidden])
Date: 2016-11-06 07:49:08


> Since a number of bind's tests use boost.function, which is under CMT,
> I'll take care of it (by adding typedefs.)

Turns out that boost::function already has the typedefs in addition to the
base classes for some reason.

But there are two showstoppers in Boost.Test:

C:\Projects\boost-git\boost\boost/test/utils/basic_cstring/compare.hpp(79):
error C2143: syntax error: missing ',' before '<'

and

C:\Projects\boost-git\boost\boost/test/impl/framework.ipp(691): error C2039:
'random_shuffle': is not a member of 'std'

that need to be fixed in order for most of the tests to even have a chance
under c++latest.

Boost.Test also required utility/compare_pointees to be fixed, so I did
that.

function/test/std_bind_cxx98.cpp also fails because of mem_fun and bind1st,
and I suppose we need a Config macro to detect their absence.

And we also might need a way (Config macro) to detect the absence of
std::random_shuffle (or alternatively the presence of std::shuffle.)

Should I merge the changes to Bind, Function and Utility to master, or do we
wait for the next release for these fixes?