On Thu, Apr 27, 2023 at 10:16 AM Peter Dimov via Boost
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
participants (1)
-
Zach Laine