- File:
-
- 1 edited
-
libcfa/src/bits/sequence_example.cfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/sequence_example.cfa
rb37515b r5e82d56 17 17 Sequence(Fred) fred; 18 18 SeqIter(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 add( fred, *new( 2 * i ) );29 for ( i = 0; i < 10; i += 1 ) { 30 add( fred, new( 2 * i ) ); 30 31 } 31 32 32 for ( SeqIter(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 delete( &dropHead( fred ) );38 for ( i = 0; i < 9; i += 1 ) { 39 delete( dropHead( 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 addTail( fred, *new( 2 * i + 1 ) );47 for ( i = 0; i < 10; i += 1 ) { 48 addTail( 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 for ( i ; 9) {55 delete( &dropTail( fred ) );55 for ( i = 0; i < 9; i += 1 ) { 56 delete( dropTail( fred ) ); 56 57 } 57 58 for ( over( fredIter, fred ); fredIter >> f; ) { 58 sout | f .i | ' ';59 sout | f->i | ' '; 59 60 } 60 61 sout | nl; 61 62 62 63 for ( over( fredIter, fred ); fredIter >> f; ) { 63 delete( &f );64 delete( f ); 64 65 } 65 66 … … 79 80 Sequence(Mary) baz; 80 81 SeqIter(Mary) maryIter = { mary }; 81 Mary &m;82 Mary * m; 82 83 83 84 for ( ; maryIter >> m; ) { // empty list 84 sout | m .i | m.j | ' ';85 sout | m->i | m->j | ' '; 85 86 } 86 87 sout | "empty" | nl; 87 88 88 for ( i ; 10) {89 add( mary, *new( 2 * i ) );90 add( baz, *new( 2 * i ) );89 for ( i = 0; i < 10; i += 1 ) { 90 add( mary, new( 2 * i ) ); 91 add( baz, new( 2 * i ) ); 91 92 } 92 93 93 for ( SeqIter(Mary) iter = { mary }; iter >> m; ) {94 sout | m .i | m.j | ' ';94 for ( over( maryIter, mary ); maryIter >> m; ) { 95 sout | m->i | m->j | ' '; 95 96 } 96 97 sout | nl; 97 98 98 for ( i ; 9) {99 delete( &dropHead( mary ) );99 for ( i = 0; i < 9; i += 1 ) { 100 delete( dropHead( mary ) ); 100 101 } 101 102 102 103 for ( over( maryIter, mary ); maryIter >> m; ) { 103 sout | m .i | m.j | ' ';104 sout | m->i | m->j | ' '; 104 105 } 105 106 sout | nl; 106 107 107 for ( i ; 10) {108 addTail( mary, *new( 2 * i + 1 ) );108 for ( i = 0; i < 10; i += 1 ) { 109 addTail( mary, new( 2 * i + 1 ) ); 109 110 } 110 111 for ( over( maryIter, mary ); maryIter >> m; ) { 111 sout | m .i | m.j | ' ';112 sout | m->i | m->j | ' '; 112 113 } 113 114 sout | nl; 114 115 115 for ( i ; 9) {116 delete( &dropTail( mary ) );116 for ( i = 0; i < 9; i += 1 ) { 117 delete( dropTail( mary ) ); 117 118 } 118 119 for ( over( maryIter, mary ); maryIter >> m; ) { 119 sout | m .i | m.j | ' ';120 sout | m->i | m->j | ' '; 120 121 } 121 122 sout | nl; … … 124 125 125 126 for ( over( maryIter, baz ); maryIter >> m; ) { 126 sout | m .i | m.j | ' ';127 sout | m->i | m->j | ' '; 127 128 } 128 129 sout | "empty" | nl; 129 130 130 131 for ( over( maryIter, mary ); maryIter >> m; ) { 131 sout | m .i | m.j | ' ';132 sout | m->i | m->j | ' '; 132 133 } 133 134 sout | nl; 134 135 135 136 for ( over( maryIter, mary ); maryIter >> m; ) { 136 delete( &m );137 delete( m ); 137 138 } 138 139 } 139 140 140 141 // Local Variables: // 141 // compile-command: "cfa sequence_example.c fa" //142 // compile-command: "cfa sequence_example.cc" // 142 143 // End: //
Note:
See TracChangeset
for help on using the changeset viewer.