Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.
NAME
     Input_Iterators
      - A read-only, forward moving iterator.
DESCRIPTION
     NOTE:
        For a complete discussion of iterators, see the Iterators
        section of this reference.
     Iterators are a generalization of pointers that allow a  C++
     program  to  uniformly  interact  with different data struc-
     tures. Input iterators are read-only, forward moving  itera-
     tors that satisfy the requirements listed below.
KEY TO ITERATOR REQUIREMENTS
     The following  key  pertains  to  the  iterator  requirement
     descriptions listed below:
     a and b   values of type X
     n   value representing a distance between two iterators
     u, Distance, tmp and m   identifiers
     r   value of type X&
     t   value of type T
REQUIREMENTS FOR INPUT ITERATORS
     The following expressions must be valid for input iterators:
     X u(a)   copy constructor, u == a
     X u = a   assignment, u == a
     a == b, a != b   return value convertible to bool
     *a   a == b implies *a == *b
     ++r   returns X&
     r++   return value convertible to const X&
     *r++   returns type T
     a -> m   returns (*a).m
     For input iterators, a == b does not imply that ++a == ++b.
     Algorithms using input iterators should be single pass algo-
     rithms.  That  is,  they  should  not  pass through the same
     iterator twice.
     The value of type T does not have to be an lvalue.
SEE ALSO
     Iterators, Output_Iterators