Changeset 3e36f220 for tests/collections/queue.cfa
- Timestamp:
- Dec 28, 2020, 4:13:58 PM (3 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 6ae5c22
- Parents:
- b6460bf (diff), bf1914e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/collections/queue.cfa
rb6460bf r3e36f220 19 19 20 20 Queue(Fred) fred; 21 QueueIter(Fred) fredIter = { fred };21 QueueIter(Fred) iter = { fred }; 22 22 Fred & f; 23 23 24 24 sout | nlOff; // turn off auto newline 25 25 26 for ( ; fredIter >>f; ) { // empty list26 for ( ; iter | f; ) { // empty list 27 27 sout | f.i | ' '; 28 28 } … … 35 35 sout | head( fred ).i | tail( fred ).i | nl; 36 36 37 for ( QueueIter(Fred) iter = { fred }; iter >>f; ) {37 for ( QueueIter(Fred) iter = { fred }; iter | f; ) { 38 38 sout | f.i | ' '; 39 39 } … … 44 44 } 45 45 46 for ( over( fredIter, fred ); fredIter >>f; ) {46 for ( over( iter, fred ); iter | f; ) { 47 47 sout | f.i | ' '; 48 48 } … … 58 58 59 59 sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl; 60 for ( over( fredIter, fred ); fredIter >> f; ) { 60 61 for ( over( iter, fred ); iter | f; ) { 61 62 sout | f.i | ' '; 62 63 } … … 68 69 delete( &dropTail( fred ) ); 69 70 70 for ( over( fredIter, fred ); fredIter >>f; ) {71 for ( over( iter, fred ); iter | f; ) { 71 72 sout | f.i | ' '; 72 73 } … … 76 77 delete( &dropTail( fred ) ); 77 78 } 78 for ( over( fredIter, fred ); fredIter >>f; ) {79 sout | f.i | ' '; 80 } 81 sout | nl; 82 83 for ( over( fredIter, fred ); fredIter >>f; ) {79 for ( over( iter, fred ); iter | f; ) { 80 sout | f.i | ' '; 81 } 82 sout | nl; 83 84 for ( over( iter, fred ); iter | f; ) { 84 85 delete( &remove( fred, f ) ); 85 86 } 86 for ( over( fredIter, fred ); fredIter >>f; ) {87 for ( over( iter, fred ); iter | f; ) { 87 88 sout | f.i | ' '; 88 89 } … … 96 97 } 97 98 } 98 for ( QueueIter(Fred) iter = { fred }; iter >>f; ) {99 for ( QueueIter(Fred) iter = { fred }; iter | f; ) { 99 100 sout | f.i | ' '; 100 101 } … … 105 106 split( fred2, fred, middle ); 106 107 107 for ( over( fredIter, fred ); fredIter >>f; ) {108 sout | f.i | ' '; 109 } 110 sout | nl; 111 112 for ( over( fredIter, fred2 ); fredIter >>f; ) {108 for ( over( iter, fred ); iter | f; ) { 109 sout | f.i | ' '; 110 } 111 sout | nl; 112 113 for ( over( iter, fred2 ); iter | f; ) { 113 114 sout | f.i | ' '; 114 115 } … … 117 118 transfer( fred, fred2 ); 118 119 119 for ( over( fredIter, fred ); fredIter >>f; ) {120 sout | f.i | ' '; 121 } 122 sout | nl; 123 124 for ( over( fredIter, fred ); fredIter >>f; ) {120 for ( over( iter, fred ); iter | f; ) { 121 sout | f.i | ' '; 122 } 123 sout | nl; 124 125 for ( over( iter, fred ); iter | f; ) { 125 126 delete( &f ); 126 127 } … … 142 143 143 144 Queue(Mary) mary; 144 QueueIter(Mary) maryIter = { mary };145 QueueIter(Mary) iter = { mary }; 145 146 Mary & m; 146 147 147 for ( ; maryIter >>m; ) { // empty list148 for ( ; iter | m; ) { // empty list 148 149 sout | m.i | m.j | ' '; 149 150 } … … 156 157 sout | head( mary ).i | tail( mary ).i | nl; 157 158 158 for ( QueueIter(Mary) iter = { mary }; iter >>m; ) {159 for ( QueueIter(Mary) iter = { mary }; iter | m; ) { 159 160 sout | m.i | m.j | ' '; 160 161 } … … 165 166 } 166 167 167 for ( over( maryIter, mary ); maryIter >>m; ) {168 for ( over( iter, mary ); iter | m; ) { 168 169 sout | m.i | m.j | ' '; 169 170 } … … 174 175 } 175 176 176 Mary * head = new( -1 ), tail = { - 1};177 Mary * head = new( -1 ), tail = { -2 }; 177 178 addHead( mary, *head ); 178 179 addTail( mary, tail ); 180 179 181 sout | head( mary ).i | succ( mary, head )->i | tail( mary ).i | nl; 182 183 for ( over( iter, mary ); iter | m; ) { 184 sout | m.i | m.j | ' '; 185 } 186 sout | nl; 187 180 188 remove( mary, *head ); 181 189 remove( mary, tail ); … … 183 191 delete( &dropTail( mary ) ); 184 192 185 for ( over( maryIter, mary ); maryIter >> m; ) { 186 sout | m.i | m.j | ' '; 187 } 188 sout | nl; 189 190 for ( over( maryIter, mary ); maryIter >> m; ) { 193 for ( over( iter, mary ); iter | m; ) { 194 sout | m.i | m.j | ' '; 195 } 196 sout | nl; 197 198 for ( i; 5 ) { 199 delete( &dropTail( mary ) ); 200 } 201 for ( over( iter, mary ); iter | m; ) { 202 sout | m.i | m.j | ' '; 203 } 204 sout | nl; 205 206 for ( over( iter, mary ); iter | m; ) { 191 207 delete( &remove( mary, m ) ); 192 208 } 209 for ( over( iter, mary ); iter | m; ) { 210 sout | m.i | m.j | ' '; 211 } 212 sout | "empty" | nl; 193 213 194 214 Mary & middle; … … 199 219 } 200 220 } 201 for ( QueueIter(Mary) iter = { mary }; iter >>m; ) {221 for ( QueueIter(Mary) iter = { mary }; iter | m; ) { 202 222 sout | m.i | m.j | ' '; 203 223 } … … 208 228 split( mary2, mary, middle ); 209 229 210 for ( over( maryIter, mary ); maryIter >>m; ) {211 sout | m.i | m.j | ' '; 212 } 213 sout | nl; 214 for ( over( maryIter, mary2 ); maryIter >>m; ) {230 for ( over( iter, mary ); iter | m; ) { 231 sout | m.i | m.j | ' '; 232 } 233 sout | nl; 234 for ( over( iter, mary2 ); iter | m; ) { 215 235 sout | m.i | m.j | ' '; 216 236 } … … 219 239 transfer( mary, mary2 ); 220 240 221 for ( over( maryIter, mary ); maryIter >> m; ) { 222 sout | m.i | m.j | ' '; 223 } 224 sout | nl; 225 for ( over( maryIter, mary ); maryIter >> m; ) { 241 for ( over( iter, mary ); iter | m; ) { 242 sout | m.i | m.j | ' '; 243 } 244 sout | nl; 245 246 for ( over( iter, mary ); iter | m; ) { 226 247 delete( &m ); 227 248 }
Note: See TracChangeset
for help on using the changeset viewer.