On 2/06/2023 04:23, Christian Mazakas wrote:
I wouldn't like this either. Right now, SmartPtr is a header-only library and adding a dependency on Thread introduces a binary dependency which means `./vcpkg install boost-smart-ptr` now creates the `libboost_thread.a`.
Only because dep tools are sufficiently dumb that they can't recognise the difference between header-only and build-required code. Which isn't really their fault, since C++ doesn't make that easy, but still.
I agree with this, which is why I figured I'd ask the mailing list. Do enough other Boost developers agree that these primitives are universal enough such that they should be in Core?
I don't like it, as I said, but it's not like my opinion matters much. :) FWIW though, atomic_* on shared_ptr is entirely banned in my codebase precisely because of its spinlock implementation.