----- Original Message ----- 
From: "William E. Kempf" <[EMAIL PROTECTED]>

> >> It's trivial to make that a free function like get. Or further, to
> >> make a subset API for optional.
> >>
> > You can certainly do the same with variant. The point is that with
> > optional<> it is *easier*.
> > With optional<> you don't need to specify the type of the wrapped value
> > all the time as with variant; and you don't need to explicitly test if
> > the variant holds a "nil_t" in order to see if it is initialized.
> 
> To add my own 2 cents on why we should have optional<> instead of just
> relying on variant<T, nil_t> is along the same lines as Fernando is trying
> to convey here.  A std::pair<int, int> provides all the functionality
> you'd need for a "point" type in a GUI framework, but we'd still want to
> have a point type (which may be implemented in terms of std::pair<int,
> int>) in order to bring the syntax more in line with domain we're dealing
> with.  The exact same thing applies to optional and variant.
> 
> The argument about optimizing POD cases is less compelling.  Even if the
> optimization was considered necessary, I'd think you could provide it with
> the variant<POD, nil_t> as well (though it would be a trickier
> implementation).

Oh don't get me wrong. I vote to have an optional. Again, my point is 
that it should be noted that we can easily write a thin API over the 
variant that way, we will avoid redundancy of code. Yet of course,
that would have to be in the future since we do not have a variant
yet.

Joel de Guzman
[EMAIL PROTECTED]
http://www.boost-consulting.com


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

Reply via email to