/// An [`IndexedParallelIterator`] that iterates over two parallel iterators of equal /// length simultaneously. /// /// This struct is created by the [`zip_eq`] method on [`IndexedParallelIterator`], /// see its documentation for more information. /// /// [`zip_eq`]: trait.IndexedParallelIterator.html#method.zip_eq /// [`IndexedParallelIterator`]: trait.IndexedParallelIterator.html #[must_use = "iterator adaptors are lazy and do nothing unless consumed"] #[derive(Debug, Clone)] pubstruct ZipEq<A: IndexedParallelIterator, B: IndexedParallelIterator> {
zip: Zip<A, B>,
}
impl<A, B> ZipEq<A, B> where
A: IndexedParallelIterator,
B: IndexedParallelIterator,
{ /// Creates a new `ZipEq` iterator. pub(super) fn new(a: A, b: B) -> Self {
ZipEq {
zip: super::Zip::new(a, b),
}
}
}
impl<A, B> ParallelIterator for ZipEq<A, B> where
A: IndexedParallelIterator,
B: IndexedParallelIterator,
{ type Item = (A::Item, B::Item);
fn drive_unindexed<C>(self, consumer: C) -> C::Result where
C: UnindexedConsumer<Self::Item>,
{
bridge(self.zip, consumer)
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.