----- Original Message ----- From: "Joel de Guzman" <[EMAIL PROTECTED]> To: "Boost mailing list" <[EMAIL PROTECTED]> Sent: Tuesday, December 10, 2002 5:21 PM Subject: Re: [boost] Formal review: Optional library
> > ----- Original Message ----- > From: "Fernando Cacciola" <[EMAIL PROTECTED]> > > > > > optional<> is trying to model using C++ a concept that > > it is not really covered by the language, that of uninitialzed values. > > It uses pointer semantics *just* because pointers are the only sort of > > C++ objects which has a clear uninitialized state. > > Hi, > > Probably a dumb question but allow me to ask anyway: > > Wouldn't a more generic variant<T0, T1...TN> class do what the > optional is trying to do? I feel that optional<T> is just a variant<T, nil_t> > in disguise. Correct me if I'm wrong. > The difference is that optional<> *explicitly* deals with the possibility of being uninitialized, while variant<T,nil_t> doesn't. (for the later, nil_t is just another possible value). In this regard optional<> is more handy for its intended usage. Fernando Cacciola _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost