- File:
-
- 1 edited
-
libcfa/src/bits/stack_example.cfa (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/stack_example.cfa
r5e82d56 r636d3715 17 17 Stack(Fred) fred; 18 18 StackIter(Fred) fredIter = { fred }; 19 Fred * f; 20 int i; 19 Fred & f; 21 20 22 21 sout | nlOff; // turn off auto newline 23 22 24 23 for ( ; fredIter >> f; ) { // empty list 25 sout | f ->i | ' ';24 sout | f.i | ' '; 26 25 } 27 26 sout | "empty" | nl; 28 27 29 for ( i = 0; i < 10; i += 1 ) { 30 push( fred, new( 2 * i ) ); 28 for ( i; 10 ) { 29 push( fred, *new( 2 * i ) ); 30 } 31 32 for ( StackIter(Fred) iter = { fred }; iter >> f; ) { 33 sout | f.i | ' '; 34 } 35 sout | nl; 36 37 for ( i; 9 ) { 38 delete( &pop( fred ) ); 31 39 } 32 40 33 41 for ( over( fredIter, fred ); fredIter >> f; ) { 34 sout | f ->i | ' ';42 sout | f.i | ' '; 35 43 } 36 44 sout | nl; 37 45 38 for ( i = 0; i < 9; i += 1 ) { 39 delete( pop( fred ) ); 40 } 41 42 for ( over( fredIter, fred ); fredIter >> f; ) { 43 sout | f->i | ' '; 44 } 45 sout | nl; 46 47 for ( i = 0; i < 10; i += 1 ) { 48 push( fred, new( 2 * i + 1 ) ); 46 for ( i; 10 ) { 47 push( fred, *new( 2 * i + 1 ) ); 49 48 } 50 49 for ( over( fredIter, fred ); fredIter >> f; ) { 51 sout | f ->i | ' ';50 sout | f.i | ' '; 52 51 } 53 52 sout | nl; 54 53 55 54 for ( over( fredIter, fred ); fredIter >> f; ) { 56 delete( f );55 delete( &f ); 57 56 } 58 57 … … 71 70 Stack(Mary) mary; 72 71 StackIter(Mary) maryIter = { mary }; 73 Mary *m;72 Mary & m; 74 73 75 74 for ( ; maryIter >> m; ) { // empty list 76 sout | m ->i | m->j | ' ';75 sout | m.i | m.j | ' '; 77 76 } 78 77 sout | "empty" | nl; 79 78 80 for ( i = 0; i < 10; i += 1 ) { 81 push( mary, new( 2 * i ) ); 79 for ( i; 10 ) { 80 push( mary, *new( 2 * i ) ); 81 } 82 83 for ( StackIter(Mary) iter = { mary }; iter >> m; ) { 84 sout | m.i | m.j | ' '; 85 } 86 sout | nl; 87 88 for ( i; 9 ) { 89 delete( &pop( mary ) ); 82 90 } 83 91 84 92 for ( over( maryIter, mary ); maryIter >> m; ) { 85 sout | m ->i | m->j | ' ';93 sout | m.i | m.j | ' '; 86 94 } 87 95 sout | nl; 88 96 89 for ( i = 0; i < 9; i += 1 ) { 90 delete( pop( mary ) ); 91 } 92 93 for ( over( maryIter, mary ); maryIter >> m; ) { 94 sout | m->i | m->j | ' '; 95 } 96 sout | nl; 97 98 for ( i = 0; i < 10; i += 1 ) { 99 push( mary, new( 2 * i + 1 ) ); 97 for ( i; 10 ) { 98 push( mary, *new( 2 * i + 1 ) ); 100 99 } 101 100 for ( over( maryIter, mary ); maryIter >> m; ) { 102 sout | m ->i | m->j | ' ';101 sout | m.i | m.j | ' '; 103 102 } 104 103 sout | nl; 105 104 106 105 for ( over( maryIter, mary ); maryIter >> m; ) { 107 delete( m );106 delete( &m ); 108 107 } 109 108 }
Note:
See TracChangeset
for help on using the changeset viewer.