Changes in tests/collections/queue.cfa [de2f969:62a7cc0]
- File:
-
- 1 edited
-
tests/collections/queue.cfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/collections/queue.cfa
rde2f969 r62a7cc0 33 33 } 34 34 35 sout | head(fred).i | nl; 36 sout | tail(fred).i | nl; 35 sout | head( fred ).i | tail( fred ).i | nl; 37 36 38 37 for ( QueueIter(Fred) iter = { fred }; iter >> f; ) { … … 54 53 } 55 54 56 Fred * front = new( -1 ); 57 addHead( fred, *front ); 58 sout | succ( fred, front )->i | nl; 59 remove( fred, *front ); 60 delete( front ); 61 62 Fred & end = dropTail( fred ); 63 delete( &end ); 64 65 for ( over( fredIter, fred ); fredIter >> f; ) { 66 sout | f.i | ' '; 67 } 68 sout | nl; 69 70 for ( over( fredIter, fred ); fredIter >> f; ) { 71 delete( &f ); 72 } 73 74 Queue(Fred) fred0; 75 Fred * middle; 76 for ( i; 10 ) { 77 if( i == 5) { 78 middle = new( i ); 79 add( fred0, *middle ); 80 continue; 55 Fred * head = new( -1 ), tail = { -2 }; 56 addHead( fred, *head ); 57 addTail( fred, tail ); 58 59 sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl; 60 for ( over( fredIter, fred ); fredIter >> f; ) { 61 sout | f.i | ' '; 62 } 63 sout | nl; 64 65 remove( fred, *head ); 66 remove( fred, tail ); 67 delete( head ); 68 delete( &dropTail( fred ) ); 69 70 for ( over( fredIter, fred ); fredIter >> f; ) { 71 sout | f.i | ' '; 72 } 73 sout | nl; 74 75 for ( i; 5 ) { 76 delete( &dropTail( fred ) ); 77 } 78 for ( over( fredIter, fred ); fredIter >> f; ) { 79 sout | f.i | ' '; 80 } 81 sout | nl; 82 83 for ( over( fredIter, fred ); fredIter >> f; ) { 84 delete( &remove( fred, f ) ); 85 } 86 for ( over( fredIter, fred ); fredIter >> f; ) { 87 sout | f.i | ' '; 88 } 89 sout | "empty" | nl; 90 91 Fred & middle; 92 for ( i; 10 ) { 93 add( fred, *new( i ) ); 94 if ( i == 4 ) { 95 &middle = &tail( fred ); 81 96 } 82 add( fred0, *new( i ) ); 83 } 84 85 for ( QueueIter(Fred) iter = { fred0 }; iter >> f; ) { 97 } 98 for ( QueueIter(Fred) iter = { fred }; iter >> f; ) { 86 99 sout | f.i | ' '; 87 100 } … … 90 103 Queue(Fred) fred2; 91 104 92 split( fred2, fred 0, *middle);93 94 for ( over( fredIter, fred 0); fredIter >> f; ) {105 split( fred2, fred, middle ); 106 107 for ( over( fredIter, fred ); fredIter >> f; ) { 95 108 sout | f.i | ' '; 96 109 } … … 102 115 sout | nl; 103 116 104 transfer( fred 0, fred2);105 106 for ( over( fredIter, fred 0); fredIter >> f; ) {107 sout | f.i | ' '; 108 } 109 sout | nl; 110 111 for ( over( fredIter, fred 0); fredIter >> f; ) {117 transfer( fred, fred2 ); 118 119 for ( over( fredIter, fred ); fredIter >> f; ) { 120 sout | f.i | ' '; 121 } 122 sout | nl; 123 124 for ( over( fredIter, fred ); fredIter >> f; ) { 112 125 delete( &f ); 113 126 } … … 122 135 void ?{}( Mary & mary, int p ) with( mary ) { 123 136 ((Fred &)mary){ p }; 124 j = i = p; 125 } 126 137 j = p; 138 } 127 139 Mary *& Next( Mary * n ) { 128 140 return (Mary *)Next( (Fred *)n ); … … 142 154 } 143 155 156 sout | head( mary ).i | tail( mary ).i | nl; 157 144 158 for ( QueueIter(Mary) iter = { mary }; iter >> m; ) { 145 159 sout | m.i | m.j | ' '; … … 159 173 add( mary, *new( 2 * i + 1 ) ); 160 174 } 161 for ( over( maryIter, mary ); maryIter >> m; ) { 162 sout | m.i | m.j | ' '; 163 } 164 sout | nl; 165 175 176 Mary * head = new( -1 ), tail = { -1 }; 177 addHead( mary, *head ); 178 addTail( mary, tail ); 179 sout | head( mary ).i | succ( mary, head )->i | tail( mary ).i | nl; 180 remove( mary, *head ); 181 remove( mary, tail ); 182 delete( (Mary *)head ); 183 delete( &dropTail( mary ) ); 184 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; ) { 191 delete( &remove( mary, m ) ); 192 } 193 194 Mary & middle; 195 for ( i; 10 ) { 196 add( mary, *new( i ) ); 197 if ( i == 4 ) { 198 &middle = &tail( mary ); 199 } 200 } 201 for ( QueueIter(Mary) iter = { mary }; iter >> m; ) { 202 sout | m.i | m.j | ' '; 203 } 204 sout | nl; 205 206 Queue(Mary) mary2; 207 208 split( mary2, mary, middle ); 209 210 for ( over( maryIter, mary ); maryIter >> m; ) { 211 sout | m.i | m.j | ' '; 212 } 213 sout | nl; 214 for ( over( maryIter, mary2 ); maryIter >> m; ) { 215 sout | m.i | m.j | ' '; 216 } 217 sout | nl; 218 219 transfer( mary, mary2 ); 220 221 for ( over( maryIter, mary ); maryIter >> m; ) { 222 sout | m.i | m.j | ' '; 223 } 224 sout | nl; 166 225 for ( over( maryIter, mary ); maryIter >> m; ) { 167 226 delete( &m );
Note:
See TracChangeset
for help on using the changeset viewer.