|
Boost : |
From: Philippe A. Bouchard (philippeb_at_[hidden])
Date: 2003-02-24 16:31:17
Fernando Cacciola wrote:
[...]
>> Given the fact optional<>::m_storage is aligned like a bool...:
>>
> It is not aligned like a bool...
Well it depends on the platform but if sizeof(bool) == sizeof(int) on Intel,
m_storage will be aligned to the next word boundary i.e. aligned like an
integer.
>> - Maybe aligned_storage<> should always destruct its object. It
>> would be the user's responsability to construct the object before
>> its destruction, otherwise the result would be undefined.
>>
> Why would this be useful?
I don't know, it is just another alternative that I personally prefer.
>> - Maybe we could create 2 separate type lists if optional<> is used
>> many times in the same object, gathering m_initialized types and
>> m_storage in separate lists:
>>
> What for ?
I think bool arrays use bitfields to store their values and optional_members
types could be properly aligned.
Philippe A. Bouchard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk