Man Page Input_Iterators.3



                       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