Boost logo

Boost :

From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2023-04-27 17:57:10


On Thu, Apr 27, 2023 at 10:16 AM Peter Dimov via Boost
<boost_at_[hidden]> wrote:
>
> Newer C++ standards (20) have been adding useful things to the
> standard library (<bit>, <latch>, etc) and most of us would like to
> use them, both in Boost and outside of it, while still supporting
> C++11, or 14, or 17.
>
> Many of these components are straightforward to implement
> using the C++11 standard library, consist of not much than one
> relatively small header, don't need many Boost dependencies
> beyond the required ones (Assert, ThrowException, Config), and
> since their interface is already fixed by the standard, don't need
> a design review.
>
> It would be nice if we had a dedicated place in Boost where to
> put these, to avoid the need for everyone reimplementing a
> private copy.
>
> At the moment, some of these have gone into Core, for lack of
> anywhere else, and we now have a <latch> contribution (which I
> encouraged):
>
> https://github.com/boostorg/core/pull/144
>
> However, Core is not quite the right place for these components.
>
> So my suggestion is to create a separate library/repo, Boost.Compat
> (boostorg/compat, namespace boost::compat) for them.
>
> Thoughts? (Be sure to read the discussion in the PR as well.)

I like this idea a lot. I want to mention that there are lots of
places currently that do a partial job of this. One conspicuous one
is Algorithm. There are probably lots of others. Having one place to
get all the compatibility bits would be very welcome.

Zach


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