Sounds like it's not really worth the effort and simply just stick to
2013/6/14 Sid Sacek
: <...> the old style. Stick to the old style. Add #ifndef'ed C++11 specific features if they add functionality or improve performance much. Boost libraries are tested using C++11 and C++03 on different compilers and works good in all situations.
Speaking of which, I was going to ask this list about the minimum compiler requirements for proposed GSoC Boost.AFIO, so now is as good a time as any. The existing code base being prepared for entry into Boost is pure C++11, or at least as much C++11 as is provided by the Nov 2012 CTP experimental MSVC compiler and therefore easily supported by GCC 4.6 and clang 3.x. The variadic templates used probably can be swapped out easily enough with Boost Preprocessor generators. The very extensive use of C++11 only library features could probably be replaced with Boost equivalents in most cases, though we really do need a fully C++11 functional std::exception_ptr rather than Boost's limited boost::exception_ptr. The thing we probably can't replace without major surgery is rvalue reference usage. It's used very extensively. Moreover, performance without rvalues would truly suck. So here's the question: is C++03 compiler and C++03 TR1 standard library support still an absolute, unnegotiable requirement for a library to become an official part of Boost? Or can we at least require rvalue reference support as a minimum? Or do we add a new category to Boost: some bits of C++11 requiring libraries? We're going to have to do this eventually anyway. Niall