Boost logo

Boost :

From: Hans Dembinski (hans.dembinski_at_[hidden])
Date: 2020-06-02 14:28:45


> On 2. Jun 2020, at 11:21, Alexander Grund via Boost <boost_at_[hidden]> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk