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 library barback.utils.multiset; | 5 library barback.multiset; |
6 | 6 |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 | 8 |
9 /// A set of objects where each object can appear multiple times. | 9 /// A set of objects where each object can appear multiple times. |
10 /// | 10 /// |
11 /// Like a set, this has amortized O(1) insertion, removal, and | 11 /// Like a set, this has amortized O(1) insertion, removal, and |
12 /// existence-checking of elements. Counting the number of copies of an element | 12 /// existence-checking of elements. Counting the number of copies of an element |
13 /// in the set is also amortized O(1). | 13 /// in the set is also amortized O(1). |
14 /// | 14 /// |
15 /// Distinct elements retain insertion order. Additional copies of an element | 15 /// Distinct elements retain insertion order. Additional copies of an element |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 if (_map[value] == 0) _map.remove(value); | 54 if (_map[value] == 0) _map.remove(value); |
55 return true; | 55 return true; |
56 } | 56 } |
57 | 57 |
58 /// Returns whether [value] is in the set. | 58 /// Returns whether [value] is in the set. |
59 bool contains(E value) => _map.containsKey(value); | 59 bool contains(E value) => _map.containsKey(value); |
60 | 60 |
61 /// Returns the number of copies of [value] in the set. | 61 /// Returns the number of copies of [value] in the set. |
62 int count(E value) => _map.containsKey(value) ? _map[value] : 0; | 62 int count(E value) => _map.containsKey(value) ? _map[value] : 0; |
63 } | 63 } |
OLD | NEW |