What is an Iterator class?

What is an Iterator class?
A class that is used to
traverse through the objects maintained by a container class. There are
five categories of iterators: input iterators, output iterators,
forward iterators, bidirectional iterators, random access. An iterator
is an entity that gives access to the contents of a container object
without violating encapsulation constraints. Access to the contents is
granted on a one-at-a-time basis in order. The order can be storage
order (as in lists and queues) or some arbitrary order (as in array
indices) or according to some ordering relation (as in an ordered
binary tree). The iterator is a construct, which provides an interface
that, when called, yields either the next element in the container, or
some value denoting the fact that there are no more elements to
examine. Iterators hide the details of access to and update of the
elements of a container class.
The simplest and safest iterators are those that permit read-only access to the contents of a container class.

No comments: