
On Tue, 2005-10-18 at 14:52 -0300, Fernando Cacciola wrote:
// (1) Current case: o = rb ; // rebind or not??
// (2) Antonty's proposal: o.reset(rb); // still some room for doubts?
// (3) Sam's proposal: o = make_optional(rb); // Clearly rebinds, doesn't it?
// I just introduced make_optional() here to get rid of the template argument
I am kind of diving in here having not read much of the option< T & > stuff in this thread, but how about.. o = make_optional( &rb ); To balance the indirection of *o and o-> Also, could be compatible with pointers int * p = make_optional( &rb ); o = make_optional( p ); p = make_optional( o ); See my earlier post for an example (I used "opt" instead of "make_optional"). Hamish PS. I know, I was the one arguing against pointer interfaces a few hours ago and now I want more :-) (but not safe_bool, "!o" or "o != 0")