
----- Mail original -----
De: "Doug Gregor" <doug.gregor@gmail.com> À: boost@lists.boost.org Envoyé: Jeudi 3 Mai 2012 18:27:31 Objet: Re: [boost] question about C++11 guidelines
On Wed, May 2, 2012 at 3:01 PM, Eric Niebler <eric@boostpro.com> 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.
Boost in C++11 should use the std:: facilities.
Obviously but the problem is what "use" means. It's not because you call it "boost::shared_ptr" that it does not use, alias or wrap C++11. And boost::shared_ptr and boost::enable_if may be new beasts in the future. If you wrote std::shared_ptr and std::enable_if everywhere in your code, you won't be able to benefit from that. Typically, today, you cannot have Boost use Boost.Container by default because you see std::vector and std::string in all Boost code ... Regards, Ivan