"Fernando Cacciola" <[EMAIL PROTECTED]> writes:

> I thougth about placement new as a way to achieve
> in-place optional construction, precisely because of the forwarding
> problem, but I couldn't get it to really work.
> What would it be like, exactly?
>
> I considered:
>
> (a)
>
>  optional<int> opt ( new ( optional_tag ) int(1) ) ;
>
> this won't work because 'opt.m_storge' doesn't exist yet inside placement
> new.
>
> (b)
>
> optional<int> opt ;
> new (opt) int(2);
>
> this would be close, but what should I do with the 'int*'
> which is the result of the new?

Why do you feel the need to do something with it?  Do you do something
with the pointer when you do placement new in the optional
implementation?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to