source:
libcfa/src/iterator.cfa
@
b545cad
Last change on this file since b545cad was 167d5ae, checked in by , 6 years ago | |
---|---|
|
|
File size: 1.0 KB |
Rev | Line | |
---|---|---|
[86bd7c1f] | 1 | // |
2 | // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo | |
3 | // | |
4 | // The contents of this file are covered under the licence agreement in the | |
5 | // file "LICENCE" distributed with Cforall. | |
6 | // | |
[58b6d1b] | 7 | // iterator.c -- |
[86bd7c1f] | 8 | // |
9 | // Author : Richard C. Bilson | |
10 | // Created On : Wed May 27 17:56:53 2015 | |
11 | // Last Modified By : Peter A. Buhr | |
[167d5ae] | 12 | // Last Modified On : Fri Nov 2 07:17:37 2018 |
13 | // Update Count : 29 | |
[86bd7c1f] | 14 | // |
[51b7345] | 15 | |
[58b6d1b] | 16 | #include "iterator.hfa" |
[51b7345] | 17 | |
[4040425] | 18 | forall( otype iterator_type, otype elt_type | iterator( iterator_type, elt_type ) ) |
[53a6c2a] | 19 | void for_each( iterator_type begin, iterator_type end, void (* func)( elt_type ) ) { |
[e56cfdb0] | 20 | for ( iterator_type i = begin; i != end; ++i ) { |
21 | func( *i ); | |
[53a6c2a] | 22 | } // for |
23 | } // for_each | |
[51b7345] | 24 | |
[4040425] | 25 | forall( otype iterator_type, otype elt_type | iterator( iterator_type, elt_type ) ) |
[53a6c2a] | 26 | void for_each_reverse( iterator_type begin, iterator_type end, void (* func)( elt_type ) ) { |
[e56cfdb0] | 27 | for ( iterator_type i = end; i != begin; ) { |
[86bd7c1f] | 28 | --i; |
[e56cfdb0] | 29 | func( *i ); |
[53a6c2a] | 30 | } // for |
31 | } // for_each_reverse | |
[86bd7c1f] | 32 | |
33 | // Local Variables: // | |
34 | // tab-width: 4 // | |
[167d5ae] | 35 | // compile-command: "cfa iterator.cfa" // |
[86bd7c1f] | 36 | // End: // |
Note: See TracBrowser
for help on using the repository browser.