Changeset 657c36f for tests/collections/sequence.cfa
- Timestamp:
- Dec 28, 2020, 4:08:27 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- bf1914e
- Parents:
- 9536761
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/collections/sequence.cfa
r9536761 r657c36f 22 22 23 23 Sequence(Fred) fred; 24 SeqIter(Fred) fredIter = { fred };24 SeqIter(Fred) iter = { fred }; 25 25 Fred & f; 26 26 27 27 sout | nlOff; // turn off auto newline 28 28 29 for ( ; fredIter >>f; ) { // empty list29 for ( ; iter | f; ) { // empty list 30 30 sout | f.i | ' '; 31 31 } … … 38 38 sout | head( fred ).i | tail( fred ).i | nl; 39 39 40 for ( SeqIter(Fred) iter = { fred }; iter >>f; ) {40 for ( SeqIter(Fred) iter = { fred }; iter | f; ) { 41 41 sout | f.i | ' '; 42 42 } … … 47 47 } 48 48 49 for ( over( fredIter, fred ); fredIter >>f; ) {49 for ( over( iter, fred ); iter | f; ) { 50 50 sout | f.i | ' '; 51 51 } … … 61 61 62 62 sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl; 63 for ( over( fredIter, fred ); fredIter >> f; ) { 63 64 for ( over( iter, fred ); iter | f; ) { 64 65 sout | f.i | ' '; 65 66 } … … 71 72 delete( &dropTail( fred ) ); 72 73 73 for ( over( fredIter, fred ); fredIter >>f; ) {74 for ( over( iter, fred ); iter | f; ) { 74 75 sout | f.i | ' '; 75 76 } … … 79 80 delete( &dropTail( fred ) ); 80 81 } 81 for ( over( fredIter, fred ); fredIter >>f; ) {82 sout | f.i | ' '; 83 } 84 sout | nl; 85 86 for ( over( fredIter, fred ); fredIter >>f; ) {82 for ( over( iter, fred ); iter | f; ) { 83 sout | f.i | ' '; 84 } 85 sout | nl; 86 87 for ( over( iter, fred ); iter | f; ) { 87 88 delete( &remove( fred, f ) ); 88 89 } 89 for ( over( fredIter, fred ); fredIter >>f; ) {90 for ( over( iter, fred ); iter | f; ) { 90 91 sout | f.i | ' '; 91 92 } … … 94 95 Fred & middle; 95 96 for ( i; 10 ) { 96 addHead( fred, *new( i ) ); // reverse o der97 addHead( fred, *new( i ) ); // reverse order 97 98 if ( i == 5 ) { 98 99 &middle = &head( fred ); 99 100 } 100 101 } 101 for ( SeqIterRev(Fred) iter = { fred }; iter >>f; ) {102 for ( SeqIterRev(Fred) riter = { fred }; riter | f; ) { 102 103 sout | f.i | ' '; 103 104 } … … 109 110 110 111 sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl; 111 for ( over( fredIter, fred ); fredIter >>f; ) {112 for ( over( iter, fred ); iter | f; ) { 112 113 sout | f.i | ' '; 113 114 } … … 119 120 delete( &dropTail( fred ) ); 120 121 121 for ( over( fredIter, fred ); fredIter >>f; ) {122 for ( over( iter, fred ); iter | f; ) { 122 123 sout | f.i | ' '; 123 124 } … … 128 129 split( fred2, fred, middle ); 129 130 130 for ( over( fredIter, fred ); fredIter >>f; ) {131 sout | f.i | ' '; 132 } 133 sout | nl; 134 135 for ( over( fredIter, fred2 ); fredIter >>f; ) {131 for ( over( iter, fred ); iter | f; ) { 132 sout | f.i | ' '; 133 } 134 sout | nl; 135 136 for ( over( iter, fred2 ); iter | f; ) { 136 137 sout | f.i | ' '; 137 138 } … … 140 141 transfer( fred, fred2 ); 141 142 142 for ( over( fredIter, fred ); fredIter >>f; ) {143 sout | f.i | ' '; 144 } 145 sout | nl; 146 147 for ( over( fredIter, fred ); fredIter >>f; ) {143 for ( over( iter, fred ); iter | f; ) { 144 sout | f.i | ' '; 145 } 146 sout | nl; 147 148 for ( over( iter, fred ); iter | f; ) { 148 149 delete( &f ); 149 150 } … … 168 169 169 170 Sequence(Mary) mary; 170 SeqIter(Mary) maryIter = { mary };171 SeqIter(Mary) iter = { mary }; 171 172 Mary & m; 172 173 173 for ( ; maryIter >>m; ) { // empty list174 for ( ; iter | m; ) { // empty list 174 175 sout | m.i | m.j | ' '; 175 176 } … … 182 183 sout | head( mary ).i | tail( mary ).i | nl; 183 184 184 for ( SeqIter(Mary) iter = { mary }; iter >>m; ) {185 for ( SeqIter(Mary) iter = { mary }; iter | m; ) { 185 186 sout | m.i | m.j | ' '; 186 187 } … … 191 192 } 192 193 193 for ( over( maryIter, mary ); maryIter >>m; ) {194 for ( over( iter, mary ); iter | m; ) { 194 195 sout | m.i | m.j | ' '; 195 196 } … … 200 201 } 201 202 202 Mary * head = new( -1 ), tail = { - 1};203 Mary * head = new( -1 ), tail = { -2 }; 203 204 addHead( mary, *head ); 204 205 addTail( mary, tail ); 206 205 207 sout | head( mary ).i | succ( mary, head )->i | tail( mary ).i | nl; 208 209 for ( over( iter, mary ); iter | m; ) { 210 sout | m.i | m.j | ' '; 211 } 212 sout | nl; 213 206 214 remove( mary, *head ); 207 215 remove( mary, tail ); … … 209 217 delete( &dropTail( mary ) ); 210 218 211 for ( over( maryIter, mary ); maryIter >> m; ) { 212 sout | m.i | m.j | ' '; 213 } 214 sout | nl; 215 216 for ( over( maryIter, mary ); maryIter >> m; ) { 219 for ( over( iter, mary ); iter | m; ) { 220 sout | m.i | m.j | ' '; 221 } 222 sout | nl; 223 224 for ( i; 5 ) { 225 delete( &dropTail( mary ) ); 226 } 227 for ( over( iter, mary ); iter | m; ) { 228 sout | m.i | m.j | ' '; 229 } 230 sout | nl; 231 232 for ( over( iter, mary ); iter | m; ) { 217 233 delete( &remove( mary, m ) ); 218 234 } 235 for ( over( iter, mary ); iter | m; ) { 236 sout | m.i | m.j | ' '; 237 } 238 sout | "empty" | nl; 219 239 220 240 Mary & middle; … … 225 245 } 226 246 } 227 for ( SeqIter(Mary) iter = { mary }; iter >>m; ) {247 for ( SeqIter(Mary) iter = { mary }; iter | m; ) { 228 248 sout | m.i | m.j | ' '; 229 249 } … … 234 254 split( mary2, mary, middle ); 235 255 236 for ( over( maryIter, mary ); maryIter >>m; ) {237 sout | m.i | m.j | ' '; 238 } 239 sout | nl; 240 for ( over( maryIter, mary2 ); maryIter >>m; ) {256 for ( over( iter, mary ); iter | m; ) { 257 sout | m.i | m.j | ' '; 258 } 259 sout | nl; 260 for ( over( iter, mary2 ); iter | m; ) { 241 261 sout | m.i | m.j | ' '; 242 262 } … … 245 265 transfer( mary, mary2 ); 246 266 247 for ( over( maryIter, mary ); maryIter >> m; ) { 248 sout | m.i | m.j | ' '; 249 } 250 sout | nl; 251 for ( over( maryIter, mary ); maryIter >> m; ) { 267 for ( over( iter, mary ); iter | m; ) { 268 sout | m.i | m.j | ' '; 269 } 270 sout | nl; 271 272 for ( over( iter, mary ); iter | m; ) { 252 273 delete( &m ); 253 274 }
Note: See TracChangeset
for help on using the changeset viewer.