Man Page Forward_Iterators.3



                       Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.



NAME

     Forward_Iterators

      - A forward-moving iterator that can both read and write.





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. Forward iterators are forward moving,  and  have  the
     ability to both read and write data. These iterators satisfy
     the requirements listed below.





KEY TO ITERATOR REQUIREMENTS

     The following key  pertains  to  the  iterator  requirements
     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 FORWARD ITERATORS

     The following expressions must be valid for  forward  itera-
     tors:

     X u   u might have a singular value



     X()   X() might be singular



     X(a)   copy constructor, a == X(a)



     X u(a)   copy constructor, u == a



     X u = a   assignment, u == a



     a == b, a != b   return value convertible to bool



     *a   return value convertible to T&



     a->m   equivalent to (*a).m



     ++r   returns X&



     r++   return value convertible to const X&



     *r++   returns T&



     Forward iterators have the condition that a == b implies  *a
     == *b.

     There are  no  restrictions  on  the  number  of  passes  an
     algorithm may make through the structure.





SEE ALSO

     Iterators, Bidirectional_Iterators