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