
On 2012-05-03 08:15, Andrey Semashev 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"
On Thu, May 3, 2012 at 10:30 AM, Robert Ramey <ramey@rrsd.com> wrote: 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! Regards, Roland