On 15/05/2015 09:51, Emil Dotchevski wrote:
On Thu, May 14, 2015 at 2:38 PM, Peter Dimov
wrote: Even though many compilers are now sufficiently C++11 capable, not all of them are, so Boost "1.x" still does have an audience and is, I'd posit, far from obsolete yet.
+1
It's easy for someone exposed only to the major development platforms to think that all that old stuff is obsolete. Last year I thought it was getting obsolete and then I developed a game for Nintendo 3DS. That platform has a good quality compiler but no standard shared_ptr or function or bind.
Even on platforms where a std implementation is available, sometimes the Boost version is just better. shared_ptr is an example of this, in fact -- some of the interactions with weak_ptrs are simply not available in the std version, but they make user code much simpler and easier, so (at least at the application level) there's very little motivation to use the std version, except where APIs lock you into one or the other. However it would be nice (when a std version exists) to have a compatibility shim that lets a boost::weak_ptr be passed to an API that expects a std::weak_ptr, without having to require that the two be the same typedef'd type. As long as the boost version is a superset of the std version, that should be "safe".