Boost logo

Boost :

Subject: Re: [boost] Some statistics about the C++ 11/14 mandatoryBoost libraries
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-05-21 08:53:39

On 18 May 2015 at 21:12, Andrey Semashev wrote:

> > The defining characteristic of the Douglas universe is that the standard
> > library now contains the many essential components (tuple, shared_ptr,
> > function, bind, type traits, threads, atomics, and so on) that were
> > previously only supplied by Boost.
> All that doesn't make Boost obsolete, which is how Niall phrased it.

I think a majority of Boost users, rather than developers, will
disagree. I worked recently on a C++ 11 code base which had mixed
boost::future and std::future due to no better choice available. It
was a royal pain in the ass to deal with (lots of std::async usage to
work around the incommensurability).

> Even for components that are in STL11, I'm still cautious about porting my
> code from Boost to STL11 because different implementations have different
> quality and because of that the code breaks or performance suffers.

This is *exactly* the point. It tests your code's assumptions about
how a STL implementation works and forces you to refactor those

> Of course,
> most of the time the transition goes smoothly and most issues can be worked
> around, but nevertheless in portable code Boost is still preferable.

You are arguing in favour of a monoculture.

> It
> reminds me of the days when STLport was active - I would often use it instead
> of the compiler-supplied STL on all platforms for the same reasons.

With very recent STLs it is usually Boost which is of inferior
quality. The three main STLs get *vastly* more testing than Boost
does, in orders of magnitude more (perhaps Jonathan, Howard or
Stephan can chime in on just what automated testing they routinely
subject their STLs to). They have also been security audited either
partially or fully.


ned Productions Limited Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at