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.
A quick grep for these terms found 153 instances of "std::unary_function" and 118 of "std::binary_function" across several libraries, including accumulators, algorithm, config, container, function, gil, graph, icl, mpi, msm, polygon, ptr_container, serialization, smart_ptr, tr1, unordered, utility - and probably others.
The full list of libraries that need to be modified to run the test suite with /std:c++latest is this:
accumulators, algorithm, asio, assign, bimap, bind, config, container, core, date_time, detail, function, functional, fusion, gil, graph, heap, icl, interprocess, intrusive, iostreams, iterator, lambda, locale, lockfree, move, msm, parameter, phoenix, polygon, pool, ptr_container, python, random, range, regex, serialization, signals, signals2, smart_ptr, spirit, statechart, test, typeof, wave, winapi, xpressive
Library tr1 is dropped outright.
This covers all stuff that is affected by the removal of deprecated features: namespace tr1, adapters, binders, random_shuffle, and auto_ptr
I've made the required changes for 1.62 and I'm in the process of applying those changes to 1.63. In many cases it is sufficient to simply drop the function binders, in some cases other parts of the libraries rely on the tr1 protocol.
All of this stuff is on GitHub: https://github.com/DanielaE Each affected library has a branch 'feature/remove-deprecated' 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.