Changeset 3667
- Timestamp:
- 06/23/08 00:16:39 (5 months ago)
- Files:
-
- trunk/tango/util/container/more/Stack.d (modified) (2 diffs)
- trunk/tango/util/container/more/Vector.d (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/tango/util/container/more/Stack.d
r3657 r3667 53 53 { 54 54 return depth; 55 } 56 57 /*********************************************************************** 58 59 Return remaining unused slots 60 61 ***********************************************************************/ 62 63 uint unused () 64 { 65 return Size - depth; 55 66 } 56 67 … … 262 273 int result; 263 274 264 for (int i=depth; i--;) 265 { 266 auto value = stack [i]; 267 if ((result = dg(value)) != 0) 268 break; 269 } 275 for (int i=depth; i-- && result is 0;) 276 result = dg (stack[i]); 270 277 return result; 271 278 } trunk/tango/util/container/more/Vector.d
r3662 r3667 52 52 { 53 53 return depth; 54 } 55 56 /*********************************************************************** 57 58 Return remaining unused slots 59 60 ***********************************************************************/ 61 62 uint unused () 63 { 64 return Size - depth; 54 65 } 55 66 … … 209 220 int result; 210 221 211 for (int i=depth; i--;) 212 { 213 auto value = vector [i]; 214 if ((result = dg(value)) != 0) 215 break; 216 } 222 for (int i=depth; i-- && result is 0;) 223 result = dg (vector [i]); 217 224 return result; 218 225 } … … 228 235 int result; 229 236 230 for (int i=depth; i-- ;)237 for (int i=depth; i-- && result is 0;) 231 238 { 232 239 auto kill = false; 233 auto value = vector [i]; 234 if ((result = dg(value, kill)) != 0) 235 break; 236 else 237 if (kill) 238 remove (i); 240 result = dg (vector[i], kill); 241 if (kill) 242 remove (i); 239 243 } 240 244 return result;












