Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(563)

Side by Side Diff: corelib/src/implementation/collections.dart

Issue 10826264: Revert "Add reduce to Collection." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « corelib/src/collection.dart ('k') | corelib/src/implementation/hash_map_set.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * The [Collections] class implements static methods useful when 6 * The [Collections] class implements static methods useful when
7 * writing a class that implements [Collection] and the [iterator] 7 * writing a class that implements [Collection] and the [iterator]
8 * method. 8 * method.
9 */ 9 */
10 class Collections { 10 class Collections {
(...skipping 17 matching lines...) Expand all
28 return true; 28 return true;
29 } 29 }
30 30
31 static List map(Iterable source, List destination, f(o)) { 31 static List map(Iterable source, List destination, f(o)) {
32 for (final e in source) { 32 for (final e in source) {
33 destination.add(f(e)); 33 destination.add(f(e));
34 } 34 }
35 return destination; 35 return destination;
36 } 36 }
37 37
38 static Dynamic reduce(Iterable iterable,
39 Dynamic initialValue,
40 Dynamic combine(Dynamic previousValue, element)) {
41 for (final element in iterable) {
42 initialValue = combine(initialValue, element);
43 }
44 return initialValue;
45 }
46
47 static List filter(Iterable source, List destination, bool f(o)) { 38 static List filter(Iterable source, List destination, bool f(o)) {
48 for (final e in source) { 39 for (final e in source) {
49 if (f(e)) destination.add(e); 40 if (f(e)) destination.add(e);
50 } 41 }
51 return destination; 42 return destination;
52 } 43 }
53 44
54 static bool isEmpty(Iterable iterable) { 45 static bool isEmpty(Iterable iterable) {
55 return !iterable.iterator().hasNext(); 46 return !iterable.iterator().hasNext();
56 } 47 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 * Returns true if the specified collection contains the specified object 137 * Returns true if the specified collection contains the specified object
147 * reference. 138 * reference.
148 */ 139 */
149 static _containsRef(Collection c, Object ref) { 140 static _containsRef(Collection c, Object ref) {
150 for (var e in c) { 141 for (var e in c) {
151 if (e === ref) return true; 142 if (e === ref) return true;
152 } 143 }
153 return false; 144 return false;
154 } 145 }
155 } 146 }
OLDNEW
« no previous file with comments | « corelib/src/collection.dart ('k') | corelib/src/implementation/hash_map_set.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698