/// `MinLen` is an iterator that imposes a minimum length on iterator splits. /// This struct is created by the [`with_min_len()`] method on [`IndexedParallelIterator`] /// /// [`with_min_len()`]: trait.IndexedParallelIterator.html#method.with_min_len /// [`IndexedParallelIterator`]: trait.IndexedParallelIterator.html #[must_use = "iterator adaptors are lazy and do nothing unless consumed"] #[derive(Debug, Clone)] pubstruct MinLen<I: IndexedParallelIterator> {
base: I,
min: usize,
}
impl<I> MinLen<I> where
I: IndexedParallelIterator,
{ /// Creates a new `MinLen` iterator. pub(super) fn new(base: I, min: usize) -> Self {
MinLen { base, min }
}
}
impl<I> ParallelIterator for MinLen<I> where
I: IndexedParallelIterator,
{ type Item = I::Item;
fn drive_unindexed<C>(self, consumer: C) -> C::Result where
C: UnindexedConsumer<Self::Item>,
{
bridge(self, consumer)
}
fn fold_with<F>(self, folder: F) -> F where
F: Folder<Self::Item>,
{ self.base.fold_with(folder)
}
}
/// `MaxLen` is an iterator that imposes a maximum length on iterator splits. /// This struct is created by the [`with_max_len()`] method on [`IndexedParallelIterator`] /// /// [`with_max_len()`]: trait.IndexedParallelIterator.html#method.with_max_len /// [`IndexedParallelIterator`]: trait.IndexedParallelIterator.html #[must_use = "iterator adaptors are lazy and do nothing unless consumed"] #[derive(Debug, Clone)] pubstruct MaxLen<I: IndexedParallelIterator> {
base: I,
max: usize,
}
impl<I> MaxLen<I> where
I: IndexedParallelIterator,
{ /// Creates a new `MaxLen` iterator. pub(super) fn new(base: I, max: usize) -> Self {
MaxLen { base, max }
}
}
impl<I> ParallelIterator for MaxLen<I> where
I: IndexedParallelIterator,
{ type Item = I::Item;
fn drive_unindexed<C>(self, consumer: C) -> C::Result where
C: UnindexedConsumer<Self::Item>,
{
bridge(self, 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.