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