| // Copyright (c) 2021, 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. | |
| /// Call [f] for each corresponding pair of elements from [list1] and [list2]. | |
| /// | |
| /// If one of the lists has less elements than other, the remainder is ignored. | |
| void forCorrespondingPairs<T1, T2>( | |
| Iterable<T1> list1, | |
| Iterable<T2> list2, | |
| void Function(T1, T2) f, | |
| ) { | |
| var i1 = list1.iterator; | |
| var i2 = list2.iterator; | |
| while (i1.moveNext() && i2.moveNext()) { | |
| f(i1.current, i2.current); | |
| } | |
| } |