blob: eb9749442b7e75d48ae99d268b9bac00ded98894 [file] [log] [blame]
// 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 bool contains(Iterable<Object> iterable, Object element) {
for (final e in iterable) {
if (e == element) return true;
}
return false;
}
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;
}
}