Boost logo

Boost :

From: Iain K.Hanson (iain.hanson_at_[hidden])
Date: 2002-12-12 13:45:57

> Sent: 12 December 2002 18:16

>1. The contained value is part of the state. Pretending otherwise
> just confuses everything.

Whether it is initialised is orthaganal to its contained value. As
Bill Kempf said "if it walks like a duck and talks like a duck".
There is no confusion, there are two different ways of looking at
them. I can see the logic in Peter's view, I just think that like
pointers, equivelence of optional's is not about there contained
value, it is about whether they have been initialised or not. The
name of the class say's it.

>2. As long as there's a way to check for an emptiness mismatch (what
> you're calling a "state mismatch", e.g. x.empty() == y.empty()), I
> don't why there's a problem that operator== doesn't make that
> distinction clear.

As I said previously, its syntatic sugar. There is nothing that you
need the rel-ops for that you can not do another way.

>How is Peter's suggestion less-useful?

because the false result tells you nothing.

