Mike Dev wrote:
We can switch to std::function unconditionally, but only if we drop C++03 (for some definition of C++03 because only the latest and greatest MSVC is ~fully C++11 compliant.)
That's my point: I don't want boost libraries to invest any more effort in maintaining c++03 support (I think I made that clear in the last ml-thread about this 2-3 month ago).
It's clear to all that everyone is held back by the inability to use C++11 things. But we can't just stop investing effort in C++03 maintenance. We have to officially drop C++03 at the Boost level, meaning, refuse to compile Boost with C++03 at all, or make it difficult, or at least make it choose an intelligent default that is never C++03. Otherwise it's easy for our (g++ 5 and clang) users to end up with Boost libraries compiled with C++03. (Of course this just kicks the can a bit further down the road - we'll then need to pick between 11 and 14 as a default for g++ 5 and clang...)
Btw.: Feature/library wise, I believe the only c++11 thing missing from MSVC2015 is full constexpr support and expressions sfinae and even MSVC2013 provides most of the library and language bits.
The point is that "C++11" is not useful as a requirement when it comes to MSVC, we need to pick a specific minimum version. 2013 is a good approximation of "C++11", I suppose.