On 2. Jun 2020, at 11:21, Alexander Grund via Boost
wrote: boost::interprocess::atomic.
That name cannot be used in Boost.Atomic as it is reserved for Boost.Interprocess.
Atomics that are lock-free can already be used for inter-process communication, so a hypothetical boost::interprocess::atomic would largely duplicate boost::atomic. However, I'm open to the idea, if it is significantly different from boost::atomic.
The obvious solution then is to use boost::atomic::interprocess ;-)
... I was going to suggest the same :)
I do see value in having 2 different atomic types in different namespaces as the use case is different: The "regular" atomic usually works. Once you need interprocess communication you use another type, not another member function.
Agreed, having two different types has benefits: - you can prevent people to pass a boost::atomic where a boost::atomic::interprocess is needed (if that makes any sense..., do atomics ever appear in interfaces?) - you can make the intent clear in the implementation of a class or function