On Tue, Nov 28, 2023 at 8:37 AM Peter Dimov via Boost
...
Some great points made here. I very much like the idea of Boost components which: 1. Mirror std equivalents 2. Give users of older C++ versions access to std-like components 3. Offer compelling improvements over their std counterparts Not every component is the same though. For example a `boost::thread` is most likely to be an implementation detail and not a type used in a public interface. On the other hand `boost::error_code` is fundamental and usually affects the entire public interface. Perhaps Boost.Scope has more flexibility than say, a boost::pmr::memory_resource in terms of how far in can deviate from the standard, simply because Boost.Scope types are more likely to be implementation details than public interfaces. I have yet to look closely at the library. Maybe it has some types which are fundamental (likely to appear in public APIs) and some which are not (more likely to appear as local variables). In this case the fundamental types should adhere more strictly to the standard. This goes beyond Boost.Scope and I would think it applicable to any proposed library. Thanks