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.