
On Tue, 2005-10-18 at 23:13 -0400, David Abrahams wrote:
Hamish Mackenzie <hamish@firestream.co.uk> writes:
From: Hamish Mackenzie <hamish@firestream.co.uk> Subject: Re: Report from Mont Tremblant C++ Committee meeting Newsgroups: gmane.comp.lib.boost.devel Date: Tue, 18 Oct 2005 23:49:07 +0100 Reply-To: boost@lists.boost.org
On Tue, 2005-10-18 at 12:43 -0400, David Abrahams wrote:
Hamish Mackenzie <hamish@firestream.co.uk> writes:
True and I think if you could fix it you would find it much easier to sell me on using * and ->. The issue I have with * and -> is that they do not make it clear that the type in question is supposed to be an optional (to someone reading the code). I still can't think of an example where it is desirable to have X * and optional< Y > use the same interface.
How about
indirect_iterator<std::vector<optional<T> >::iterator>
?
Sold!
But now I am worried that I wanted to buy a car (container max size 1) and instead I am getting a the back half of a bicycle (deep copy pointer) welded to the front half of a car. Would I be better off with a bicycle instead?
Whatever. All of these odd cases you pose are distractions from the the fact that having such a common interface can be useful.
I think you may have misunderstood my bad analogy. You have talked me around. Now I am asking for _more_ commonality. Do you think the "fill" example would be useful to fill missing values in vector< OptionalPointee >? Hamish