Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-02-24 14:55:17

"Philippe A. Bouchard" <philippeb_at_[hidden]> writes:

> Yes, exactly. Sorry if I wasn't precise enough.
> The bool type will cancel type_with_alignment<> effects (at least on Intel
> compatible platforms); i.e. unique alignment of each optional<T> type.

Sounds like you want

   type_with_alignment<T>::type storage;
   new ((void*)&storage) T(x, y, z)

Can you really do anything to make this cleaner? I guess:

    aligned_storage<T> storage;
    new (storage.bytes) T(x, y, z);

might be a help. What else are you gaining? And how do you destroy
the T? If not explicitly and you don't have a "constructed" flag,
you're going to have exception-safety problems.

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at