An object or routine for accessing items from a list, array or stream one at a time.

By extension, the term can be used for an object or routine for accesing items from any data structure that can be viewed as a list. For example, a traverser is an iterator for tree-shaped data structures.