Boost logo

Boost :

Subject: Re: [boost] [atomic] Structs with default constructor
From: Tim Blechmann (tim_at_[hidden])
Date: 2014-07-07 08:23:13


>> Boost.Atomic 1.55 accepted structs with a user-defined default constructor
>> as template argument, the version from the 1.56 test build doesn't (because
>> of the union_cast). Is this by design? I could be wrong, but I thought the
>> only requirement for structs to use them in atomics was that they were
>> trivially coyable.
>
> Yes, this is the property of the current implementation. The type has to be
> trivial (3.9/9). The previous versions compiled with types with non-trivial
> default constructors but the constructors were not actually called.

andrey, the standard requires that the type is trivially copyable, but
it allows non-trivial constructors. this should be fixed for the 1.56
release, especially as it breaks existing code (including boost.lockfree).

tim


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