OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 * Delegating wrappers for [Iterable], [List], [Set], [Queue] and [Map]. | 6 * Delegating wrappers for [Iterable], [List], [Set], [Queue] and [Map]. |
7 * | 7 * |
8 * Also adds unmodifiable views for `Set` and `Map`, and a fixed length | 8 * Also adds unmodifiable views for `Set` and `Map`, and a fixed length |
9 * view for `List`. The unmodifable list view from `dart:collection` is exported | 9 * view for `List`. The unmodifable list view from `dart:collection` is exported |
10 * as well, just for completeness. | 10 * as well, just for completeness. |
11 */ | 11 */ |
12 library dart.collection_helpers.wrappers; | 12 library dart.pkg.collection.wrappers; |
13 | 13 |
14 import "dart:collection"; | 14 import "dart:collection"; |
15 import "dart:math" show Random; | 15 import "dart:math" show Random; |
16 | 16 |
17 export "dart:collection" show UnmodifiableListView; | 17 export "dart:collection" show UnmodifiableListView; |
18 | 18 |
19 part "unmodifiable_wrappers.dart"; | 19 part "src/unmodifiable_wrappers.dart"; |
20 | 20 |
21 /** | 21 /** |
22 * Creates an [Iterable] that delegates all operations to a base iterable. | 22 * Creates an [Iterable] that delegates all operations to a base iterable. |
23 * | 23 * |
24 * This class can be used hide non-`Iterable` methods of an iterable object, | 24 * This class can be used hide non-`Iterable` methods of an iterable object, |
25 * or it can be extended to add extra functionality on top of an existing | 25 * or it can be extended to add extra functionality on top of an existing |
26 * iterable object. | 26 * iterable object. |
27 */ | 27 */ |
28 class DelegatingIterable<E> implements Iterable<E> { | 28 class DelegatingIterable<E> implements Iterable<E> { |
29 Iterable<E> _base; | 29 Iterable<E> _base; |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 Iterable<K> get keys => _base.keys; | 325 Iterable<K> get keys => _base.keys; |
326 | 326 |
327 int get length => _base.length; | 327 int get length => _base.length; |
328 | 328 |
329 V putIfAbsent(K key, V ifAbsent()) => _base.putIfAbsent(key, ifAbsent); | 329 V putIfAbsent(K key, V ifAbsent()) => _base.putIfAbsent(key, ifAbsent); |
330 | 330 |
331 V remove(Object key) => _base.remove(key); | 331 V remove(Object key) => _base.remove(key); |
332 | 332 |
333 Iterable<V> get values => _base.values; | 333 Iterable<V> get values => _base.values; |
334 } | 334 } |
OLD | NEW |