Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-07-13 14:08:14

David Abrahams <dave_at_[hidden]> writes:

> OK, all fixed and checked in.

One more word about this fix:

iterator_facade now has to choose between *r++ = o being valid and
being a conforming TR1 input iterator (which requires *r++ is of type
T -- we have since declared that a defect and *r++ need only be
convertible to T). It makes that choice by looking at the
CategoryOrTraversal parameter: iff it's convertible to
std::output_iterator_tag, *r++ = o will be valid.

I am thinking it might be more appropriate to detect that *r is a
proxy, and only make *r++ = o valid in that case. Can anyone think of
a reason that a non-writable iterator implementation would need to
return a proxy from its operator*?

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at