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 http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk