pub struct SkipWhile<I, P> { /* private fields */ }Expand description
An iterator that rejects elements while predicate returns true.
This struct is created by the skip_while method on Iterator. See its
documentation for more.
Trait Implementations
source impl<I, P> Clone for SkipWhile<I, P> where
I: Clone,
P: Clone,
impl<I, P> Clone for SkipWhile<I, P> where
I: Clone,
P: Clone,
source fn clone(&self) -> SkipWhile<I, P>iNotable traits for SkipWhile<I, P>impl<I, P> Iterator for SkipWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item;
fn clone(&self) -> SkipWhile<I, P>iNotable traits for SkipWhile<I, P>impl<I, P> Iterator for SkipWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item;
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item;
Returns a copy of the value. Read more
source fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
source impl<I, P> Iterator for SkipWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool,
impl<I, P> Iterator for SkipWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool,
source fn next(&mut self) -> Option<<I as Iterator>::Item>
fn next(&mut self) -> Option<<I as Iterator>::Item>
Advances the iterator and returns the next value. Read more
source fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator. Read more
source fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R where
Fold: FnMut(Acc, <SkipWhile<I, P> as Iterator>::Item) -> R,
R: Try<Output = Acc>,
SkipWhile<I, P>: Sized,
fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R where
Fold: FnMut(Acc, <SkipWhile<I, P> as Iterator>::Item) -> R,
R: Try<Output = Acc>,
SkipWhile<I, P>: Sized,
An iterator method that applies a function as long as it returns successfully, producing a single, final value. Read more
source fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc where
Fold: FnMut(Acc, <SkipWhile<I, P> as Iterator>::Item) -> Acc,
fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc where
Fold: FnMut(Acc, <SkipWhile<I, P> as Iterator>::Item) -> Acc,
Folds every element into an accumulator by applying an operation, returning the final result. Read more
source fn next_chunk<const N: usize>(
&mut self
) -> Result<[Self::Item ; N], IntoIter<Self::Item, N>>
fn next_chunk<const N: usize>(
&mut self
) -> Result<[Self::Item ; N], IntoIter<Self::Item, N>>
Advances the iterator and returns an array containing the next N values. Read more
source fn count(self) -> usize
fn count(self) -> usize
Consumes the iterator, counting the number of iterations and returning it. Read more
source fn last(self) -> Option<Self::Item>
fn last(self) -> Option<Self::Item>
Consumes the iterator, returning the last element. Read more
source fn advance_by(&mut self, n: usize) -> Result<(), usize>
fn advance_by(&mut self, n: usize) -> Result<(), usize>
Advances the iterator by n elements. Read more
source fn nth(&mut self, n: usize) -> Option<Self::Item>
fn nth(&mut self, n: usize) -> Option<Self::Item>
Returns the nth element of the iterator. Read more
1.28.0 · source fn step_by(self, step: usize) -> StepBy<Self>iNotable traits for StepBy<I>impl<I> Iterator for StepBy<I> where
I: Iterator, type Item = <I as Iterator>::Item;
fn step_by(self, step: usize) -> StepBy<Self>iNotable traits for StepBy<I>impl<I> Iterator for StepBy<I> where
I: Iterator, type Item = <I as Iterator>::Item;
I: Iterator, type Item = <I as Iterator>::Item;
Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
source fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>iNotable traits for Chain<A, B>impl<A, B> Iterator for Chain<A, B> where
A: Iterator,
B: Iterator<Item = <A as Iterator>::Item>, type Item = <A as Iterator>::Item; where
U: IntoIterator<Item = Self::Item>,
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>iNotable traits for Chain<A, B>impl<A, B> Iterator for Chain<A, B> where
A: Iterator,
B: Iterator<Item = <A as Iterator>::Item>, type Item = <A as Iterator>::Item; where
U: IntoIterator<Item = Self::Item>,
A: Iterator,
B: Iterator<Item = <A as Iterator>::Item>, type Item = <A as Iterator>::Item;
Takes two iterators and creates a new iterator over both in sequence. Read more
source fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>iNotable traits for Zip<A, B>impl<A, B> Iterator for Zip<A, B> where
A: Iterator,
B: Iterator, type Item = (<A as Iterator>::Item, <B as Iterator>::Item); where
U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>iNotable traits for Zip<A, B>impl<A, B> Iterator for Zip<A, B> where
A: Iterator,
B: Iterator, type Item = (<A as Iterator>::Item, <B as Iterator>::Item); where
U: IntoIterator,
A: Iterator,
B: Iterator, type Item = (<A as Iterator>::Item, <B as Iterator>::Item);
‘Zips up’ two iterators into a single iterator of pairs. Read more
source fn intersperse(self, separator: Self::Item) -> Intersperse<Self>iNotable traits for Intersperse<I>impl<I> Iterator for Intersperse<I> where
I: Iterator,
<I as Iterator>::Item: Clone, type Item = <I as Iterator>::Item; where
Self::Item: Clone,
fn intersperse(self, separator: Self::Item) -> Intersperse<Self>iNotable traits for Intersperse<I>impl<I> Iterator for Intersperse<I> where
I: Iterator,
<I as Iterator>::Item: Clone, type Item = <I as Iterator>::Item; where
Self::Item: Clone,
I: Iterator,
<I as Iterator>::Item: Clone, type Item = <I as Iterator>::Item;
Creates a new iterator which places a copy of separator between adjacent
items of the original iterator. Read more
source fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>iNotable traits for IntersperseWith<I, G>impl<I, G> Iterator for IntersperseWith<I, G> where
I: Iterator,
G: FnMut() -> <I as Iterator>::Item, type Item = <I as Iterator>::Item; where
G: FnMut() -> Self::Item,
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>iNotable traits for IntersperseWith<I, G>impl<I, G> Iterator for IntersperseWith<I, G> where
I: Iterator,
G: FnMut() -> <I as Iterator>::Item, type Item = <I as Iterator>::Item; where
G: FnMut() -> Self::Item,
I: Iterator,
G: FnMut() -> <I as Iterator>::Item, type Item = <I as Iterator>::Item;
Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more
source fn map<B, F>(self, f: F) -> Map<Self, F>iNotable traits for Map<I, F>impl<B, I, F> Iterator for Map<I, F> where
I: Iterator,
F: FnMut(<I as Iterator>::Item) -> B, type Item = B; where
F: FnMut(Self::Item) -> B,
fn map<B, F>(self, f: F) -> Map<Self, F>iNotable traits for Map<I, F>impl<B, I, F> Iterator for Map<I, F> where
I: Iterator,
F: FnMut(<I as Iterator>::Item) -> B, type Item = B; where
F: FnMut(Self::Item) -> B,
I: Iterator,
F: FnMut(<I as Iterator>::Item) -> B, type Item = B;
Takes a closure and creates an iterator which calls that closure on each element. Read more
1.21.0 · source fn for_each<F>(self, f: F) where
F: FnMut(Self::Item),
fn for_each<F>(self, f: F) where
F: FnMut(Self::Item),
Calls a closure on each element of an iterator. Read more
source fn filter<P>(self, predicate: P) -> Filter<Self, P>iNotable traits for Filter<I, P>impl<I, P> Iterator for Filter<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item; where
P: FnMut(&Self::Item) -> bool,
fn filter<P>(self, predicate: P) -> Filter<Self, P>iNotable traits for Filter<I, P>impl<I, P> Iterator for Filter<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item; where
P: FnMut(&Self::Item) -> bool,
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item;
Creates an iterator which uses a closure to determine if an element should be yielded. Read more
source fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>iNotable traits for FilterMap<I, F>impl<B, I, F> Iterator for FilterMap<I, F> where
I: Iterator,
F: FnMut(<I as Iterator>::Item) -> Option<B>, type Item = B; where
F: FnMut(Self::Item) -> Option<B>,
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>iNotable traits for FilterMap<I, F>impl<B, I, F> Iterator for FilterMap<I, F> where
I: Iterator,
F: FnMut(<I as Iterator>::Item) -> Option<B>, type Item = B; where
F: FnMut(Self::Item) -> Option<B>,
I: Iterator,
F: FnMut(<I as Iterator>::Item) -> Option<B>, type Item = B;
Creates an iterator that both filters and maps. Read more
source fn enumerate(self) -> Enumerate<Self>iNotable traits for Enumerate<I>impl<I> Iterator for Enumerate<I> where
I: Iterator, type Item = (usize, <I as Iterator>::Item);
fn enumerate(self) -> Enumerate<Self>iNotable traits for Enumerate<I>impl<I> Iterator for Enumerate<I> where
I: Iterator, type Item = (usize, <I as Iterator>::Item);
I: Iterator, type Item = (usize, <I as Iterator>::Item);
Creates an iterator which gives the current iteration count as well as the next value. Read more
source fn peekable(self) -> Peekable<Self>iNotable traits for Peekable<I>impl<I> Iterator for Peekable<I> where
I: Iterator, type Item = <I as Iterator>::Item;
fn peekable(self) -> Peekable<Self>iNotable traits for Peekable<I>impl<I> Iterator for Peekable<I> where
I: Iterator, type Item = <I as Iterator>::Item;
I: Iterator, type Item = <I as Iterator>::Item;
source fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>iNotable traits for SkipWhile<I, P>impl<I, P> Iterator for SkipWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item; where
P: FnMut(&Self::Item) -> bool,
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>iNotable traits for SkipWhile<I, P>impl<I, P> Iterator for SkipWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item; where
P: FnMut(&Self::Item) -> bool,
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item;
source fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>iNotable traits for TakeWhile<I, P>impl<I, P> Iterator for TakeWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item; where
P: FnMut(&Self::Item) -> bool,
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>iNotable traits for TakeWhile<I, P>impl<I, P> Iterator for TakeWhile<I, P> where
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item; where
P: FnMut(&Self::Item) -> bool,
I: Iterator,
P: FnMut(&<I as Iterator>::Item) -> bool, type Item = <I as Iterator>::Item;
Creates an iterator that yields elements based on a predicate. Read more
1.57.0 · source fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>iNotable traits for MapWhile<I, P>impl<B, I, P> Iterator for MapWhile<I, P> where
I: Iterator,
P: FnMut(<I as Iterator>::Item) -> Option<B>, type Item = B; where
P: FnMut(Self::Item) -> Option<B>,
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>iNotable traits for MapWhile<I, P>impl<B, I, P> Iterator for MapWhile<I, P> where
I: Iterator,
P: FnMut(<I as Iterator>::Item) -> Option<B>, type Item = B; where
P: FnMut(Self::Item) -> Option<B>,
I: Iterator,
P: FnMut(<I as Iterator>::Item) -> Option<B>, type Item = B;
Creates an iterator that both yields elements based on a predicate and maps. Read more
source fn skip(self, n: usize) -> Skip<Self>iNotable traits for Skip<I>impl<I> Iterator for Skip<I> where
I: Iterator, type Item = <I as Iterator>::Item;
fn skip(self, n: usize) -> Skip<Self>iNotable traits for Skip<I>impl<I> Iterator for Skip<I> where
I: Iterator, type Item = <I as Iterator>::Item;
I: Iterator, type Item = <I as Iterator>::Item;
Creates an iterator that skips the first n elements. Read more
source fn take(self, n: usize) -> Take<Self>iNotable traits for Take<I>impl<I> Iterator for Take<I> where
I: Iterator, type Item = <I as Iterator>::Item;
fn take(self, n: usize) -> Take<Self>iNotable traits for Take<I>impl<I> Iterator for Take<I> where
I: Iterator, type Item = <I as Iterator>::Item;
I: Iterator, type Item = <I as Iterator>::Item;
Creates an iterator that yields the first n elements, or fewer
if the underlying iterator ends sooner. Read more
source fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>iNotable traits for Scan<I, St, F>impl<B, I, St, F> Iterator for Scan<I, St, F> where
I: Iterator,
F: FnMut(&mut St, <I as Iterator>::Item) -> Option<B>, type Item = B; where
F: FnMut(&mut St, Self::Item) -> Option<B>,
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>iNotable traits for Scan<I, St, F>impl<B, I, St, F> Iterator for Scan<I, St, F> where
I: Iterator,
F: FnMut(&mut St, <I as Iterator>::Item) -> Option<B>, type Item = B; where
F: FnMut(&mut St, Self::Item) -> Option<B>,
I: Iterator,
F: FnMut(&mut St, <I as Iterator>::Item) -> Option<B>, type Item = B;
source fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>iNotable traits for FlatMap<I, U, F>impl<I, U, F> Iterator for FlatMap<I, U, F> where
I: Iterator,
U: IntoIterator,
F: FnMut(<I as Iterator>::Item) -> U, type Item = <U as IntoIterator>::Item; where
U: IntoIterator,
F: FnMut(Self::Item) -> U,
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>iNotable traits for FlatMap<I, U, F>impl<I, U, F> Iterator for FlatMap<I, U, F> where
I: Iterator,
U: IntoIterator,
F: FnMut(<I as Iterator>::Item) -> U, type Item = <U as IntoIterator>::Item; where
U: IntoIterator,
F: FnMut(Self::Item) -> U,
I: Iterator,
U: IntoIterator,
F: FnMut(<I as Iterator>::Item) -> U, type Item = <U as IntoIterator>::Item;
Creates an iterator that works like map, but flattens nested structure. Read more
1.29.0 · source fn flatten(self) -> Flatten<Self>iNotable traits for Flatten<I>impl<I, U> Iterator for Flatten<I> where
I: Iterator,
U: Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item, type Item = <U as Iterator>::Item; where
Self::Item: IntoIterator,
fn flatten(self) -> Flatten<Self>iNotable traits for Flatten<I>impl<I, U> Iterator for Flatten<I> where
I: Iterator,
U: Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item, type Item = <U as Iterator>::Item; where
Self::Item: IntoIterator,
I: Iterator,
U: Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item, type Item = <U as Iterator>::Item;
Creates an iterator that flattens nested structure. Read more
source fn fuse(self) -> Fuse<Self>iNotable traits for Fuse<I>impl<I> Iterator for Fuse<I> where
I: Iterator, type Item = <I as Iterator>::Item;
fn fuse(self) -> Fuse<Self>iNotable traits for Fuse<I>impl<I> Iterator for Fuse<I> where
I: Iterator, type Item = <I as Iterator>::Item;
I: Iterator, type Item = <I as Iterator>::Item;
source fn inspect<F>(self, f: F) -> Inspect<Self, F>iNotable traits for Inspect<I, F>impl<I, F> Iterator for Inspect<I, F> where
I: Iterator,
F: FnMut(&<I as Iterator>::Item), type Item = <I as Iterator>::Item; where
F: FnMut(&Self::Item),
fn inspect<F>(self, f: F) -> Inspect<Self, F>iNotable traits for Inspect<I, F>impl<I, F> Iterator for Inspect<I, F> where
I: Iterator,
F: FnMut(&<I as Iterator>::Item), type Item = <I as Iterator>::Item; where
F: FnMut(&Self::Item),
I: Iterator,
F: FnMut(&<I as Iterator>::Item), type Item = <I as Iterator>::Item;
Does something with each element of an iterator, passing the value on. Read more
source fn collect<B>(self) -> B where
B: FromIterator<Self::Item>,
fn collect<B>(self) -> B where
B: FromIterator<Self::Item>,
Transforms an iterator into a collection. Read more
source fn try_collect<B>(
&mut self
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType where
B: FromIterator<<Self::Item as Try>::Output>,
Self::Item: Try,
<Self::Item as Try>::Residual: Residual<B>,
fn try_collect<B>(
&mut self
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType where
B: FromIterator<<Self::Item as Try>::Output>,
Self::Item: Try,
<Self::Item as Try>::Residual: Residual<B>,
Fallibly transforms an iterator into a collection, short circuiting if a failure is encountered. Read more
source fn collect_into<E>(self, collection: &mut E) -> &mut E where
E: Extend<Self::Item>,
fn collect_into<E>(self, collection: &mut E) -> &mut E where
E: Extend<Self::Item>,
Collects all the items from an iterator into a collection. Read more
source fn partition<B, F>(self, f: F) -> (B, B) where
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
fn partition<B, F>(self, f: F) -> (B, B) where
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
Consumes an iterator, creating two collections from it. Read more
source fn partition_in_place<'a, T, P>(self, predicate: P) -> usize where
T: 'a,
Self: DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
fn partition_in_place<'a, T, P>(self, predicate: P) -> usize where
T: 'a,
Self: DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
Reorders the elements of this iterator in-place according to the given predicate,
such that all those that return true precede all those that return false.
Returns the number of true elements found. Read more
source fn is_partitioned<P>(self, predicate: P) -> bool where
P: FnMut(Self::Item) -> bool,
fn is_partitioned<P>(self, predicate: P) -> bool where
P: FnMut(Self::Item) -> bool,
Checks if the elements of this iterator are partitioned according to the given predicate,
such that all those that return true precede all those that return false. Read more
1.27.0 · source fn try_for_each<F, R>(&mut self, f: F) -> R where
F: FnMut(Self::Item) -> R,
R: Try<Output = ()>,
fn try_for_each<F, R>(&mut self, f: F) -> R where
F: FnMut(Self::Item) -> R,
R: Try<Output = ()>,
An iterator method that applies a fallible function to each item in the iterator, stopping at the first error and returning that error. Read more
1.51.0 · source fn reduce<F>(self, f: F) -> Option<Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
fn reduce<F>(self, f: F) -> Option<Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
Reduces the elements to a single one, by repeatedly applying a reducing operation. Read more
source fn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType where
F: FnMut(Self::Item, Self::Item) -> R,
R: Try<Output = Self::Item>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
fn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType where
F: FnMut(Self::Item, Self::Item) -> R,
R: Try<Output = Self::Item>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. Read more
source fn all<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
fn all<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
Tests if every element of the iterator matches a predicate. Read more
source fn any<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
fn any<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
Tests if any element of the iterator matches a predicate. Read more
source fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool,
fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool,
Searches for an element of an iterator that satisfies a predicate. Read more
1.30.0 · source fn find_map<B, F>(&mut self, f: F) -> Option<B> where
F: FnMut(Self::Item) -> Option<B>,
fn find_map<B, F>(&mut self, f: F) -> Option<B> where
F: FnMut(Self::Item) -> Option<B>,
Applies function to the elements of iterator and returns the first non-none result. Read more
source fn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType where
F: FnMut(&Self::Item) -> R,
R: Try<Output = bool>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
fn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType where
F: FnMut(&Self::Item) -> R,
R: Try<Output = bool>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
Applies function to the elements of iterator and returns the first true result or the first error. Read more
source fn position<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
fn position<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Searches for an element in an iterator, returning its index. Read more
source fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Self: ExactSizeIterator + DoubleEndedIterator,
fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Self: ExactSizeIterator + DoubleEndedIterator,
Searches for an element in an iterator from the right, returning its index. Read more
source fn max(self) -> Option<Self::Item> where
Self::Item: Ord,
fn max(self) -> Option<Self::Item> where
Self::Item: Ord,
Returns the maximum element of an iterator. Read more
source fn min(self) -> Option<Self::Item> where
Self::Item: Ord,
fn min(self) -> Option<Self::Item> where
Self::Item: Ord,
Returns the minimum element of an iterator. Read more
1.6.0 · source fn max_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B,
fn max_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B,
Returns the element that gives the maximum value from the specified function. Read more
1.15.0 · source fn max_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
fn max_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
Returns the element that gives the maximum value with respect to the specified comparison function. Read more
1.6.0 · source fn min_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B,
fn min_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B,
Returns the element that gives the minimum value from the specified function. Read more
1.15.0 · source fn min_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
fn min_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
Returns the element that gives the minimum value with respect to the specified comparison function. Read more
source fn rev(self) -> Rev<Self>iNotable traits for Rev<I>impl<I> Iterator for Rev<I> where
I: DoubleEndedIterator, type Item = <I as Iterator>::Item; where
Self: DoubleEndedIterator,
fn rev(self) -> Rev<Self>iNotable traits for Rev<I>impl<I> Iterator for Rev<I> where
I: DoubleEndedIterator, type Item = <I as Iterator>::Item; where
Self: DoubleEndedIterator,
I: DoubleEndedIterator, type Item = <I as Iterator>::Item;
Reverses an iterator’s direction. Read more
source fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Iterator<Item = (A, B)>,
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Iterator<Item = (A, B)>,
Converts an iterator of pairs into a pair of containers. Read more
1.36.0 · source fn copied<'a, T>(self) -> Copied<Self>iNotable traits for Copied<I>impl<'a, I, T> Iterator for Copied<I> where
T: 'a + Copy,
I: Iterator<Item = &'a T>, type Item = T; where
T: 'a + Copy,
Self: Iterator<Item = &'a T>,
fn copied<'a, T>(self) -> Copied<Self>iNotable traits for Copied<I>impl<'a, I, T> Iterator for Copied<I> where
T: 'a + Copy,
I: Iterator<Item = &'a T>, type Item = T; where
T: 'a + Copy,
Self: Iterator<Item = &'a T>,
T: 'a + Copy,
I: Iterator<Item = &'a T>, type Item = T;
Creates an iterator which copies all of its elements. Read more
source fn cloned<'a, T>(self) -> Cloned<Self>iNotable traits for Cloned<I>impl<'a, I, T> Iterator for Cloned<I> where
T: 'a + Clone,
I: Iterator<Item = &'a T>, type Item = T; where
T: 'a + Clone,
Self: Iterator<Item = &'a T>,
fn cloned<'a, T>(self) -> Cloned<Self>iNotable traits for Cloned<I>impl<'a, I, T> Iterator for Cloned<I> where
T: 'a + Clone,
I: Iterator<Item = &'a T>, type Item = T; where
T: 'a + Clone,
Self: Iterator<Item = &'a T>,
T: 'a + Clone,
I: Iterator<Item = &'a T>, type Item = T;
source fn cycle(self) -> Cycle<Self>iNotable traits for Cycle<I>impl<I> Iterator for Cycle<I> where
I: Clone + Iterator, type Item = <I as Iterator>::Item; where
Self: Clone,
fn cycle(self) -> Cycle<Self>iNotable traits for Cycle<I>impl<I> Iterator for Cycle<I> where
I: Clone + Iterator, type Item = <I as Iterator>::Item; where
Self: Clone,
I: Clone + Iterator, type Item = <I as Iterator>::Item;
Repeats an iterator endlessly. Read more
1.11.0 · source fn sum<S>(self) -> S where
S: Sum<Self::Item>,
fn sum<S>(self) -> S where
S: Sum<Self::Item>,
Sums the elements of an iterator. Read more
1.11.0 · source fn product<P>(self) -> P where
P: Product<Self::Item>,
fn product<P>(self) -> P where
P: Product<Self::Item>,
Iterates over the entire iterator, multiplying all the elements Read more
1.5.0 · source fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Lexicographically compares the elements of this Iterator with those
of another. Read more
source fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,
Lexicographically compares the elements of this Iterator with those
of another with respect to the specified comparison function. Read more
1.5.0 · source fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Lexicographically compares the elements of this Iterator with those
of another. Read more
source fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
Lexicographically compares the elements of this Iterator with those
of another with respect to the specified comparison function. Read more
1.5.0 · source fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
source fn eq_by<I, F>(self, other: I, eq: F) -> bool where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,
fn eq_by<I, F>(self, other: I, eq: F) -> bool where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,
1.5.0 · source fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
1.5.0 · source fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically
less than those of another. Read more
1.5.0 · source fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically
less or equal to those of another. Read more
1.5.0 · source fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically
greater than those of another. Read more
1.5.0 · source fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically
greater than or equal to those of another. Read more
source fn is_sorted(self) -> bool where
Self::Item: PartialOrd<Self::Item>,
fn is_sorted(self) -> bool where
Self::Item: PartialOrd<Self::Item>,
Checks if the elements of this iterator are sorted. Read more
source fn is_sorted_by<F>(self, compare: F) -> bool where
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
fn is_sorted_by<F>(self, compare: F) -> bool where
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
Checks if the elements of this iterator are sorted using the given comparator function. Read more
source fn is_sorted_by_key<F, K>(self, f: F) -> bool where
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
fn is_sorted_by_key<F, K>(self, f: F) -> bool where
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
Checks if the elements of this iterator are sorted using the given key extraction function. Read more
impl<I, P> FusedIterator for SkipWhile<I, P> where
I: FusedIterator,
P: FnMut(&<I as Iterator>::Item) -> bool,
Auto Trait Implementations
impl<I, P> RefUnwindSafe for SkipWhile<I, P> where
I: RefUnwindSafe,
P: RefUnwindSafe,
impl<I, P> Send for SkipWhile<I, P> where
I: Send,
P: Send,
impl<I, P> Sync for SkipWhile<I, P> where
I: Sync,
P: Sync,
impl<I, P> Unpin for SkipWhile<I, P> where
I: Unpin,
P: Unpin,
impl<I, P> UnwindSafe for SkipWhile<I, P> where
I: UnwindSafe,
P: UnwindSafe,
Blanket Implementations
source impl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · source fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more