
17 Oct
2005
17 Oct
'05
9:47 p.m.
On Behalf Of Fernando Cacciola
Personally, I agree with your choices on rebinding and the "pointer style" interface. The safe_bool idiom is too handy to pass up - it allows you to do nice things like declaring variables in an if expression, and the main reason to overload operator->() is because you can't overload operator.(). Sure it's sugar, but it's tasty and makes life easier.
optional<T&> has the exact same semantics of optional< reference_wrapper<T> >
That's the best description and rationalization of the semantics of optional<T&> I've heard yet.