Date: 1999-12-08 00:14:38
One way to side-step the problem with GGCL iterators is to
just declare them an input_iterator instead of forward_iterator.
GGCL never uses the assignment anyways.
There is still a minor problem, since GGCL iterators typically
allow multiple passes, so they would be incorrectly ruled out of some
algorithms, but at least it still allows interoperability with
the large number of algorithms that take input iterators.
A longer term solution would be to have a new iterator category
called multi_pass_input_iterator that goes between input_iterator and
An even longer term solution would be to redesign the whole iterator
tag mechanism. There are a number of orthogonal iterator properties
that currently get grouped together under the banner of just a couple
tags, when there should be a more fine grained way to talk about
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk