Boost logo

Boost Users :

From: Kim Barrett (kab_at_[hidden])
Date: 2005-08-24 15:06:26

At 12:38 PM -0400 8/24/05, Gennadiy Rozental wrote:
>"Kim Barrett" <kab_at_[hidden]> wrote in message
>> At 1:25 AM -0400 8/23/05, Gennadiy Rozental wrote:
>>>template<typename F>
>>>class global_fixure_impl : public global_fixure {
>>> virtual void setup() { new (m_space) F; }
>>> virtual void teardown() { ((F*)m_space)->~F(); }
>>> char m_space[sizeof(F)];
>> Alignment of m_space must be appropriate for the alignment of F. I think
>> this can be addressed by putting m_space in a union with a value whose
>> type
>> is the result of
>> boost::type_with_alignment<boost::alignment_of<F>::value>::type.
>char m_space[sizeof(F)]; is going to be aligned properly automatically

I don't see how. See analogous discussion recently on boost developers list
under subject "alignment problem in proposed any alternative", in particular
the message from Martin Bonner on 8/11/05:
Otherwise, what would be the point of boost::aligned_storage (which actually
packages up the union idiom I was suggesting be used)?

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at