20e99ef0c2
BUG= TEST= Review URL: http://codereview.chromium.org//9167006 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3128 260f80e4-7a28-3924-810f-c04153c831b5
53 lines
1.3 KiB
Dart
53 lines
1.3 KiB
Dart
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
/**
|
|
* The [Collections] class implements static methods useful when
|
|
* writing a class that implements [Collection] and the [iterator]
|
|
* method.
|
|
*/
|
|
class _Collections {
|
|
static void forEach(Iterable<Object> iterable, void f(Object o)) {
|
|
for (final e in iterable) {
|
|
f(e);
|
|
}
|
|
}
|
|
|
|
static List map(Iterable<Object> source,
|
|
List<Object> destination,
|
|
f(o)) {
|
|
for (final e in source) {
|
|
destination.add(f(e));
|
|
}
|
|
return destination;
|
|
}
|
|
|
|
static bool some(Iterable<Object> iterable, bool f(Object o)) {
|
|
for (final e in iterable) {
|
|
if (f(e)) return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
static bool every(Iterable<Object> iterable, bool f(Object o)) {
|
|
for (final e in iterable) {
|
|
if (!f(e)) return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
static List filter(Iterable<Object> source,
|
|
List<Object> destination,
|
|
bool f(o)) {
|
|
for (final e in source) {
|
|
if (f(e)) destination.add(e);
|
|
}
|
|
return destination;
|
|
}
|
|
|
|
static bool isEmpty(Iterable<Object> iterable) {
|
|
return !iterable.iterator().hasNext();
|
|
}
|
|
}
|