Boost logo

Boost :

From: Victor A. Wagner, Jr. (vawjr_at_[hidden])
Date: 2002-08-02 12:05:38


At Thursday 2002/08/01 17:18, you wrote:
>At 08:04 PM 8/1/2002, Glen Knowles wrote:
>
> > > I mean that code such as
> > >
> > > path p2("foo/bar");
> > > p2.begin() = p2.end();
> > > path::iterator it = ++p2.begin();
> > >
> > > is legal.
> >
> > Ah, yes, I see what you mean. But that is a general problem with the
> > design of iterators, isn't it, rather than a problem with
> > path? path::begin() can't return a const iterator; iteration (operator++,
> > operator--) wouldn't work!
>
>I believe begin() should return a const iterator, you then assign it to a
>non-const iterator ("it" above) and then inc/dec the copy.
>
>
>I doubt users would find that attractive. You would have to cast away const.

It's not that simple. See my earlier reply to the same message.

>Furthermore, the Standard Library container requirements, table 65,
>require that the return type of begin() be "iterator", not "const iterator".
>
>Again, I don't think the Filesystem Library is the place to try to solve
>wider iterator problems.
>
>--Beman
>
>
>_______________________________________________
>Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>

Victor A. Wagner Jr. http://rudbek.com
PGP RSA fingerprint = 4D20 EBF6 0101 B069 3817 8DBF C846 E47A
PGP D-H fingerprint = 98BC 65E3 1A19 43EC 3908 65B9 F755 E6F4 63BB 9D93
The five most dangerous words in the English language:
               "There oughta be a law"


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk