Robust Iterators in ET
Thomas Kofler · 1993
Container classes and iterators operating on them are a common feature of object-oriented class libaries. Most often, the question whether modifications of a container during an iteration should be allowed, is answered with no. This work, in contrast, justifies why it should be allowed and supported, at least in comprehensive C++ class libraries like ET++. It is further shown how the concept of a robust iterator can be reasonably defined and implemented for well-kown data structures. In this course, special attention is paid to hashing algorithms, in particular linear probing. Feasible and efficient solutions are described and evaluated.