Subject: Re: [boost] question about C++11 guidelines
From: Roland Bock (rbock_at_[hidden])
Date: 2012-05-03 03:27:10
On 2012-05-03 08:15, Andrey Semashev wrote:
> On Thu, May 3, 2012 at 10:30 AM, Robert Ramey <ramey_at_[hidden]> wrote:
>> Eric Niebler wrote:
>>> Say I'm rewriting an existing Boost library and targeting C++11
>>> users. I plan to ship C++03 and C++11 versions of my library
>>> side-by-side, so back-compat isn't an issue for the new code. Is
>>> there a reason to prefer using Boost's versions of utilities like
>>> enable_if, type traits, integral constant wrappers (e.g. mpl::int_),
>>> tuples, etc., over the now-standard ones?
>>> I'm leaning toward using std:: where I can, and falling back on
>>> Boost's versions only when there is a compelling reason.
>> Isn't easier to just use the boost versions knowing that they
>> will be implemented in the most efficient/appropriate way
>> for the compiler in question?
> Although I wouldn't be so sure about the "most efficient/appropriate"
> part, I would still use boost for several reasons. This is the code
> we're in control of (so if there are bugs we can fix them ASAP), we
> know how it works (i.e. potential pitfalls and advantages) and it's
> available everywhere.
On the other hand, why did boost spend all the efforts to make these
things part of the new standard if not to use them?
IMHO, if the new code is targeted to C++11, it should use it. And if
this exposes bugs or less efficient implementations in some compilers:
Cool! It will help compiler vendors and other libraries a lot!
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk