I just finished reading a great article on iterators by Andrei Alexandrescu. Mr. Alexandrescu is a contributor to the D programming language. In this paper, he discusses the background of iterator implementations including C++ STL iterators, and then goes on to outline a new model for iterators. It’s very readable, I recommend it.
To get a more readable all-in-one page, click on the “print” link on the page above, or go here: