----- Original Message -----
From: "David Abrahams" <[EMAIL PROTECTED]>
To: "Boost mailing list" <[EMAIL PROTECTED]>
Sent: Tuesday, December 10, 2002 10:00 PM
Subject: Re: [boost] Formal review: Optional library


> "Fernando Cacciola" <[EMAIL PROTECTED]> writes:
>
>
> > I still don't like to think of optional<> as a container, so I still
> > don't like this reset.
>
> Do you really think of auto_ptr and shared_ptr as containers? They
> seem to have little or nothing in common with any of the standard
> containers.
>
OK.
After further thinking I agree that optional<> is as much as a container
as a smart pointer -not much really-, meaning that you pass a value which
is contained within the wrapper and which you can access it.

> > My motivation against this is just to prevent potential problems with
> > optional<bool>, but if we collectively conclude that those problems
> > are not so much important, I will add the safe_bool and
> > make sure to tell every not to use optional<bool> (and use tribool
instead)
> > or else to use it with caution.
>
> I don't think any special warnings are needed; the problem case you
> cite seems contrived to me.
>
Perhaps.
Anyway, if I add safe_bool (and it looks like I will) I will explain
the potential problems in the docs just in case.

> > I'm not sure what would be effect of removing deep-constantness.
> > It would definitely allow the leaner interface you are proposing,
>
> Well, deep-constantness is utterly inconsistent with the pointer-like
> semantics you claim to be implementing.  A pointer-ish optional
> component is a fine idea, but why not follow through all the way with
> the idiom?
>
How is deep-constantness utterly incosistent with pointer-like semantics?

> > This is a possibility.
> > I could accept something like this, though I constantly see
> > people complaining about lack of deep constantness on wrappers like
> > optional<>
> > What do others think?
>
> Is it a wrapper or a pointer?
>
Is a wrapper which acts partially like a pointer.

Fernando Cacciola

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

Reply via email to