
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.)