| // 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(); | |
| } | |
| } |