Boost logo

Boost :

Subject: Re: [boost] boost and vendor's TR1 implementations
From: Sergey Sadovnikov (flex_ferrum_at_[hidden])
Date: 2008-11-12 03:32:39


Hello, Michael.

Wednesday, November 12, 2008 at 12:03:41 AM you wrote:

MM> I'm pretty sure make_shared relies on implementation details of
MM> boost::shared_ptr. Also I IIRC boost::shared_ptr's aliasing constructor
MM> isn't in std::tr1::shared_ptr.

MM> There are other reasons that you might want to use the boost versions
MM> over the tr1 versions. For instance the boost unordered containers are
MM> supposedly faster than the vc9sp1 tr1 implementation and the vc9sp1
MM> tr1::function has a broken swap which prevents it from being used in the
MM> std::containers because of the "Swaptimization".

By the way when C++0x will be committed and std::tr1 namespace will be merged
with std namespace a lot of code will become uncompilable because of
both std and boost namespaces exposed into global or local scope.

ACSoft wrote into boost-users mailing list:
-----------------------------------------------
Either way, as soon as people start to use c++0x compiler and c++0x-conform stl implementations (in fact a lot of people already do - like me), all the old code that uses using namespace std and using namespace boost will fail to compile (the tr1 stuff is merged into std in c++0x - and a lot of these old tr1 libraries are included indirectly by other stl headers!).
As boost and the stl are fundamental libraries, they should, in my opinion, coexist in the global namespace.

I think the boost implementations should move the std::tr1 implementation into the boost namespace if possible. This should solve all the problems.
-----------------------------------------------

-- 
Best Regards,
 Sergey                          mailto:flex_ferrum_at_[hidden]

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk