typedef Iterator<T>
An Iterator is a structure that permits iteration over elements of type T.
Any class with matching hasNext and next fields is considered an Iterator
and can then be used e.g. in for-loops. This makes it easy to implement
custom iterators.
function next():T
Returns the current item of the Iterator and advances to the next one.
This method is not required to check hasNext() first. A call to this
method while hasNext() is false yields unspecified behavior.
Returns false if the iteration is complete, true otherwise.
Usually iteration is considered to be complete if all elements of the
underlying data structure were handled through calls to next(). However,
in custom iterators any logic may be used to determine the completion
state.