Robust Iterators for ET++
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.
[Kof93] Kofler T.. Robust Iterators for ET++. In Structured Programming, Vol. 14, No. 2, pages 62-85, 1993.