Why Iterators Got It All Wrong — and what we should use instead

This is a past event

86 people went


I am happy to invite you to our next meeting. This time we will have a guest from Germany! The talk will be in English.


Why Iterators Got It All Wrong — and what we should use instead


You understand iterators, right? How would you describe them? "Iterators are used to point into sequences of elements." Sounds good? More recently, the concept of ranges has been introduced to mean anything that exposes iterators. In particular, ranges include range adaptors for lazily transforming or filtering sequences of elements, and they, too, have iterators. All good? Unfortunately, no. The iterator concept, which we have been using since the advent of C++, is fundamentally flawed. In particular, some iterators must behave differently depending on whether they are meant to point at an element or at a boundary between elements. So elements and boundaries are really two distinct concepts. In this talk, I will convince you that the problem is real and has practical implications, make a proposal on how to fix it and show how the solution not only fixes the problem but makes for clearer code and prevents mistakes


Arno Schödl - co-founder and Technical Director of think-cell.
Before founding think-cell, Arno worked at Microsoft Research and McKinsey. Arno studied computer science and management and holds a Ph.D. from the Georgia Institute of Technology with a specialization in Computer Graphics.

After the meeting, we invite you to the Mam Ochotę cafe for the afterparty (drinks and food) sponsored by think-cell!