|
Boost : |
Subject: Re: [boost] [c++11]
From: Niall Douglas (ndouglas_at_[hidden])
Date: 2013-06-14 12:21:38
> 2013/6/14 Sid Sacek <ssacek_at_[hidden]>:
> <...>
> > Sounds like it's not really worth the effort and simply just stick to
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk