Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/examples/iterator.h

    re56cfdb0 r86bd7c1f  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Nov 19 17:58:28 2015
    13 // Update Count     : 6
     12// Last Modified On : Wed May 27 18:41:57 2015
     13// Update Count     : 3
    1414//
    1515
    1616#ifndef ITERATOR_H
    1717#define ITERATOR_H
     18
     19#include "iostream.h"
    1820
    1921// An iterator can be used to traverse a data structure.
     
    3234};
    3335
    34 context iterator_for( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) {
     36context iterator_for ( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) {
    3537//      [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
    3638        iterator_type begin( collection_type );
     
    4143void for_each( iterator_type begin, iterator_type end, void (*func)( elt_type ) );
    4244
    43 forall( type iterator_type, type elt_type | iterator( iterator_type, elt_type ) )
    44 void for_each_reverse( iterator_type begin, iterator_type end, void (*func)( elt_type ) );
     45// writes the range [begin, end) to the given stream
     46forall( type elt_type | writeable( elt_type ),
     47                type iterator_type | iterator( iterator_type, elt_type ),
     48                dtype os_type | ostream( os_type ) )
     49void write_all( iterator_type begin, iterator_type end, os_type *os );
     50
     51forall( type elt_type | writeable( elt_type ),
     52                type iterator_type | iterator( iterator_type, elt_type ),
     53                dtype os_type | ostream( os_type ) )
     54void write_reverse( iterator_type begin, iterator_type end, os_type *os );
    4555
    4656#endif // ITERATOR_H
Note: See TracChangeset for help on using the changeset viewer.