Changeset e56cfdb0 for src/examples/iterator.h
- Timestamp:
- Nov 19, 2015, 6:06:12 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 05587c2
- Parents:
- d2ded3e7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/examples/iterator.h
rd2ded3e7 re56cfdb0 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:41:57201513 // Update Count : 312 // Last Modified On : Thu Nov 19 17:58:28 2015 13 // Update Count : 6 14 14 // 15 15 16 16 #ifndef ITERATOR_H 17 17 #define ITERATOR_H 18 19 #include "iostream.h"20 18 21 19 // An iterator can be used to traverse a data structure. … … 34 32 }; 35 33 36 context iterator_for 34 context iterator_for( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) { 37 35 // [ iterator_type begin, iterator_type end ] get_iterators( collection_type ); 38 36 iterator_type begin( collection_type ); … … 43 41 void for_each( iterator_type begin, iterator_type end, void (*func)( elt_type ) ); 44 42 45 // writes the range [begin, end) to the given stream 46 forall( type elt_type | writeable( elt_type ), 47 type iterator_type | iterator( iterator_type, elt_type ), 48 dtype os_type | ostream( os_type ) ) 49 void write_all( iterator_type begin, iterator_type end, os_type *os ); 50 51 forall( type elt_type | writeable( elt_type ), 52 type iterator_type | iterator( iterator_type, elt_type ), 53 dtype os_type | ostream( os_type ) ) 54 void write_reverse( iterator_type begin, iterator_type end, os_type *os ); 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 ) ); 55 45 56 46 #endif // ITERATOR_H
Note: See TracChangeset
for help on using the changeset viewer.