C++ iterators are not really iterators Why Iterators Got It All Wrong — and what we should use instead - Arno Schödl