On 6/1/23 15:28, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
These are appropriate for Core. No objections from me. Andrey/Peter?
I would rather have those, along with a spin_mutex implementation, in Boost.Thread, but I realize Peter wouldn't want to depend on it in Boost.SmartPtr.
Incidentally, we have a spin_mutex (with another pause implementation) in Boost.Sync. Peter, probably, wouldn't want to depend on it either, but perhaps it would be suitable for other libraries. I could start cleaning it up for a review, time permitting.
Re. moving those components to Boost.Core, I don't like it, but I can be overruled.
The motivation here is that Unordered has now acquired a dependency on SmartPtr, just for those primitives, which is seen as undesirable.
Putting them somewhere else, such as Thread, solves nothing, as a dependency on Thread for those is much worse.
The alternative to moving them to Core is Unordered containing its own local copy.
That everyone depends on Core doesn't mean we should pile everything in it.