> > 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.
Glen