$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Sam Partington (sam.partington_at_[hidden])
Date: 2005-10-25 04:35:23
> I suggested to add:
>
> make_optional(v);
>
> as a shortcut for:
>
> optional<some_type>(v).
>
> People argued, with reason, that you still need to discriminate yourself
> references from non-references
> (so you would need to use a different shortcut, like, make_optional_ref(r))
How about :
o = make_optional(boost::ref(t));
But actually I'd rather say it explicitly all the time with
optional<T>(t)
> So my current proposal would be:
>
> Remove direct-assignment.
> Let copy-assigment be the only way to define the wrapped value
> Add make_optional() and make_optional_ref() as shorcuts to help with
> copy-assignment
> Keep none-assignment as the only wat to clear the wrapped value.
That gets my vote. I'm not especially bothered whether make_optional
and make_optional_ref go in or not, the user can decided whether they
want to use it or not.
Sam