Changes in tests/collections/sequence.cfa [62a7cc0:de2f969]
- File:
-
- 1 edited
-
tests/collections/sequence.cfa (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/collections/sequence.cfa
r62a7cc0 rde2f969 14 14 i = p; 15 15 } 16 16 17 Fred *& Back( Fred * n ) { 17 18 return (Fred *)Back( (Seqable *)n ); 18 19 } 20 19 21 Fred *& Next( Fred * n ) { 20 22 return (Fred *)Next( (Colable *)n ); … … 36 38 } 37 39 38 sout | head( fred ).i | tail( fred ).i | nl;39 40 40 for ( SeqIter(Fred) iter = { fred }; iter >> f; ) { 41 41 sout | f.i | ' '; … … 55 55 addTail( fred, *new( 2 * i + 1 ) ); 56 56 } 57 58 Fred * head = new( -1 ), tail = { -2 }; 59 addHead( fred, *head ); 60 addTail( fred, tail ); 61 62 sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl; 63 for ( over( fredIter, fred ); fredIter >> f; ) { 64 sout | f.i | ' '; 65 } 66 sout | nl; 67 68 remove( fred, *head ); 69 remove( fred, tail ); 70 delete( head ); 71 delete( &dropTail( fred ) ); 72 73 for ( over( fredIter, fred ); fredIter >> f; ) { 74 sout | f.i | ' '; 75 } 76 sout | nl; 77 78 for ( i; 5 ) { 57 for ( over( fredIter, fred ); fredIter >> f; ) { 58 sout | f.i | ' '; 59 } 60 sout | nl; 61 62 for ( i; 9 ) { 79 63 delete( &dropTail( fred ) ); 80 64 } … … 85 69 86 70 for ( over( fredIter, fred ); fredIter >> f; ) { 87 delete( &remove( fred, f ) ); 88 } 89 for ( over( fredIter, fred ); fredIter >> f; ) { 90 sout | f.i | ' '; 91 } 92 sout | "empty" | nl; 93 94 Fred & middle; 95 for ( i; 10 ) { 96 addHead( fred, *new( i ) ); // reverse oder 97 if ( i == 5 ) { 98 &middle = &head( fred ); 71 delete( &f ); 72 } 73 74 Sequence(Fred) fred0; 75 Fred * middle; 76 for ( i; 10 ) { 77 if( i == 5) { 78 middle = new( i ); 79 addHead( fred0, *middle ); 80 continue; 99 81 } 100 } 101 for ( SeqIterRev(Fred) iter = { fred }; iter >> f; ) { 102 sout | f.i | ' '; 103 } 104 sout | nl; 105 106 head = new( -1 ); 107 insertBef( fred, *head, head( fred ) ); 108 insertAft( fred, *head, tail ); 109 110 sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl; 111 for ( over( fredIter, fred ); fredIter >> f; ) { 112 sout | f.i | ' '; 113 } 114 sout | nl; 115 116 remove( fred, *head ); 117 remove( fred, tail ); 118 delete( head ); 119 delete( &dropTail( fred ) ); 120 121 for ( over( fredIter, fred ); fredIter >> f; ) { 82 addHead( fred0, *new( i ) ); 83 } 84 85 for ( SeqIterRev(Fred) iter = { fred0 }; iter >> f; ) { 86 sout | f.i | ' '; 87 } 88 sout | nl; 89 90 Fred * front = new( -1 ); 91 insertBef( fred0, *front, tail(fred0)); 92 insertAft( fred0, *front, *new( -2 ) ); 93 remove( fred0, *front ); 94 delete( front ); 95 96 sout | head(fred0).i | nl; 97 Fred & end = dropTail( fred ); 98 delete( &end ); 99 100 for ( over( fredIter, fred0 ); fredIter >> f; ) { 122 101 sout | f.i | ' '; 123 102 } … … 126 105 Sequence(Fred) fred2; 127 106 128 split( fred2, fred , middle);129 130 for ( over( fredIter, fred ); fredIter >> f; ) {107 split( fred2, fred0, *middle); 108 109 for ( over( fredIter, fred0 ); fredIter >> f; ) { 131 110 sout | f.i | ' '; 132 111 } … … 138 117 sout | nl; 139 118 140 transfer( fred , fred2);141 142 for ( over( fredIter, fred ); fredIter >> f; ) {143 sout | f.i | ' '; 144 } 145 sout | nl; 146 147 for ( over( fredIter, fred ); fredIter >> f; ) {119 transfer( fred0, fred2); 120 121 for ( over( fredIter, fred0 ); fredIter >> f; ) { 122 sout | f.i | ' '; 123 } 124 sout | nl; 125 126 for ( over( fredIter, fred0 ); fredIter >> f; ) { 148 127 delete( &f ); 149 128 } … … 160 139 j = p; 161 140 } 141 162 142 Mary *& Back( Mary * n ) { 163 143 return (Mary *)Back( (Fred *)n ); 164 144 } 145 165 146 Mary *& Next( Mary * n ) { 166 147 return (Mary *)Next( (Fred *)n ); … … 168 149 169 150 Sequence(Mary) mary; 151 Sequence(Mary) baz; 170 152 SeqIter(Mary) maryIter = { mary }; 171 153 Mary & m; … … 178 160 for ( i; 10 ) { 179 161 add( mary, *new( 2 * i ) ); 180 } 181 182 sout | head( mary ).i | tail( mary ).i | nl; 162 add( baz, *new( 2 * i ) ); 163 } 183 164 184 165 for ( SeqIter(Mary) iter = { mary }; iter >> m; ) { … … 199 180 addTail( mary, *new( 2 * i + 1 ) ); 200 181 } 201 202 Mary * head = new( -1 ), tail = { -1 }; 203 addHead( mary, *head ); 204 addTail( mary, tail ); 205 sout | head( mary ).i | succ( mary, head )->i | tail( mary ).i | nl; 206 remove( mary, *head ); 207 remove( mary, tail ); 208 delete( (Mary *)head ); 209 delete( &dropTail( mary ) ); 210 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; ) { 217 delete( &remove( mary, m ) ); 218 } 219 220 Mary & middle; 221 for ( i; 10 ) { 222 add( mary, *new( i ) ); 223 if ( i == 4 ) { 224 &middle = &tail( mary ); 225 } 226 } 227 for ( SeqIter(Mary) iter = { mary }; iter >> m; ) { 228 sout | m.i | m.j | ' '; 229 } 230 sout | nl; 231 232 Sequence(Mary) mary2; 233 234 split( mary2, mary, middle ); 235 236 for ( over( maryIter, mary ); maryIter >> m; ) { 237 sout | m.i | m.j | ' '; 238 } 239 sout | nl; 240 for ( over( maryIter, mary2 ); maryIter >> m; ) { 241 sout | m.i | m.j | ' '; 242 } 243 sout | nl; 244 245 transfer( mary, mary2 ); 246 247 for ( over( maryIter, mary ); maryIter >> m; ) { 248 sout | m.i | m.j | ' '; 249 } 250 sout | nl; 182 for ( over( maryIter, mary ); maryIter >> m; ) { 183 sout | m.i | m.j | ' '; 184 } 185 sout | nl; 186 187 for ( i; 9 ) { 188 delete( &dropTail( mary ) ); 189 } 190 for ( over( maryIter, mary ); maryIter >> m; ) { 191 sout | m.i | m.j | ' '; 192 } 193 sout | nl; 194 195 transfer( mary, baz ); 196 197 for ( over( maryIter, baz ); maryIter >> m; ) { 198 sout | m.i | m.j | ' '; 199 } 200 sout | "empty" | nl; 201 202 for ( over( maryIter, mary ); maryIter >> m; ) { 203 sout | m.i | m.j | ' '; 204 } 205 sout | nl; 206 251 207 for ( over( maryIter, mary ); maryIter >> m; ) { 252 208 delete( &m );
Note:
See TracChangeset
for help on using the changeset viewer.