Steven Schveighoffer wrote:
On Sun, 07 Mar 2010 06:42:10 -0500, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
Iterator invalidation has been a notion thoroughly explored by the STL
and a commonly-mentioned liability of STL iterators. People find it
very jarring that syntactically identical interfaces have distinct
effects on iterators, it's a dependency very difficult to track. I'm
glad that that experience has already been accumulated and that we can
build upon it.
Is there any experience that led to a solution, even in theory?
I don't know of one. There are of course the safe iterators that rely on
a variety of techniques (some, such as serial numbers, discussed in this
thread) to detect invalidation dynamically.
For the style of containers discussed herein, a static solution should
be a better fit than a dynamic one. I plan to enact a solution by means
of the softXxx primitives.
I'm going to stop arguing this point any further, because the quickest
path to resolution is probably for you to stop wasting time debating
with me and implement what you think will work. Then we can see how
useful it might be.
If you can solve this problem in a way that is useful, I think it might
be as revolutionary as ranges are.
Probably not. The way I see it, it would be simply the removal of a
large annoyance that stands in the way of writing container-independent
generic code.
Andrei