Iter
#![allow(unused)] fn main() { pub struct Iter { ... } }
impl Iter
#![allow(unused)] fn main() { pub fn skip_bits_while<P>(&mut self, f: P) -> usize where P: FnMut(u8) -> bool }Moves the iterator ahead until the predicate returns true.
This method behaves like
Iterator::skip_while, but doesn’t rely on repeated calls toIterator::next.
#![allow(unused)] fn main() { pub fn skip_bits(&mut self, n: usize) }Moves the iterator ahead.
This method behaves like
Iterator::skip, but doesn’t rely on repeated calls toIterator::next.
impl DoubleEndedIterator for Iter
#![allow(unused)] fn main() { fn next_back(&mut self) -> Option<Self::Item> }Removes and returns an element from the end of the iterator.
#![allow(unused)] fn main() { fn nth_back(&mut self, n: usize) -> Option<Self::Item> }Returns the nth element from the end of the iterator.
#![allow(unused)] fn main() { fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>> }🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements.
#![allow(unused)] fn main() { fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R where Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B> }This is the reverse version of
Iterator::try_fold(): it takes elements starting from the back of the iterator.
#![allow(unused)] fn main() { fn rfold<B, F>(self, init: B, f: F) -> B where Self: Sized, F: FnMut(B, Self::Item) -> B }An iterator method that reduces the iterator’s elements to a single, final value, starting from the back.
#![allow(unused)] fn main() { fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item> where Self: Sized, P: FnMut(&Self::Item) -> bool }Searches for an element of an iterator from the back that satisfies a predicate.
impl ExactSizeIterator for Iter
#![allow(unused)] fn main() { fn len(&self) -> usize }Returns the exact remaining length of the iterator.
#![allow(unused)] fn main() { fn is_empty(&self) -> bool }🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty.
impl Iterator for Iter
#![allow(unused)] fn main() { type Item = u8 }The type of the elements being iterated over.
#![allow(unused)] fn main() { fn next(&mut self) -> Option<Self::Item> }Advances the iterator and returns the next value.
#![allow(unused)] fn main() { fn size_hint(&self) -> (usize, Option<usize>) }Returns the bounds on the remaining length of the iterator.
#![allow(unused)] fn main() { fn count(self) -> usize }Consumes the iterator, counting the number of iterations and returning it.
#![allow(unused)] fn main() { fn last(self) -> Option<u8> }Consumes the iterator, returning the last element.
#![allow(unused)] fn main() { fn nth(&mut self, n: usize) -> Option<u8> }Returns the nth element of the iterator.
#![allow(unused)] fn main() { fn next_chunk<const N: usize>(&mut self) -> Result<[Self::Item; N], IntoIter<Self::Item, N>> where Self: Sized }🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values.
#![allow(unused)] fn main() { fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> }🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements.
#![allow(unused)] fn main() { fn step_by(self, step: usize) -> StepBy<Self> where Self: Sized }Creates an iterator starting at the same point, but stepping by the given amount at each iteration.
#![allow(unused)] fn main() { fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> where Self: Sized, U: IntoIterator<Item = Self::Item> }Takes two iterators and creates a new iterator over both in sequence.
#![allow(unused)] fn main() { fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> where Self: Sized, U: IntoIterator }‘Zips up’ two iterators into a single iterator of pairs.
#![allow(unused)] fn main() { fn intersperse(self, separator: Self::Item) -> Intersperse<Self> where Self: Sized, Self::Item: Clone }🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places a copy of separator between adjacent items of the original iterator.
#![allow(unused)] fn main() { fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> where Self: Sized, G: FnMut() -> Self::Item }🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator between adjacent items of the original iterator.
#![allow(unused)] fn main() { fn map<B, F>(self, f: F) -> Map<Self, F> where Self: Sized, F: FnMut(Self::Item) -> B }Takes a closure and creates an iterator which calls that closure on each element.
#![allow(unused)] fn main() { fn for_each<F>(self, f: F) where Self: Sized, F: FnMut(Self::Item) }Calls a closure on each element of an iterator.
#![allow(unused)] fn main() { fn filter<P>(self, predicate: P) -> Filter<Self, P> where Self: Sized, P: FnMut(&Self::Item) -> bool }Creates an iterator which uses a closure to determine if an element should be yielded.
#![allow(unused)] fn main() { fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where Self: Sized, F: FnMut(Self::Item) -> Option<B> }Creates an iterator that both filters and maps.
#![allow(unused)] fn main() { fn enumerate(self) -> Enumerate<Self> where Self: Sized }Creates an iterator which gives the current iteration count as well as the next value.
#![allow(unused)] fn main() { fn peekable(self) -> Peekable<Self> where Self: Sized }Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See their documentation for more information.
#![allow(unused)] fn main() { fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where Self: Sized, P: FnMut(&Self::Item) -> bool }Creates an iterator that skips elements based on a predicate.
#![allow(unused)] fn main() { fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where Self: Sized, P: FnMut(&Self::Item) -> bool }Creates an iterator that yields elements based on a predicate.
#![allow(unused)] fn main() { fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> where Self: Sized, P: FnMut(Self::Item) -> Option<B> }Creates an iterator that both yields elements based on a predicate and maps.
#![allow(unused)] fn main() { fn skip(self, n: usize) -> Skip<Self> where Self: Sized }Creates an iterator that skips the first n elements.
#![allow(unused)] fn main() { fn take(self, n: usize) -> Take<Self> where Self: Sized }Creates an iterator that yields the first n elements, or fewer if the underlying iterator ends sooner.
#![allow(unused)] fn main() { fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where Self: Sized, F: FnMut(&mut St, Self::Item) -> Option<B> }An iterator adapter which, like fold, holds internal state, but unlike fold, produces a new iterator.
#![allow(unused)] fn main() { fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where Self: Sized, U: IntoIterator, F: FnMut(Self::Item) -> U }Creates an iterator that works like map, but flattens nested structure.
#![allow(unused)] fn main() { fn flatten(self) -> Flatten<Self> where Self: Sized, Self::Item: IntoIterator }Creates an iterator that flattens nested structure.
#![allow(unused)] fn main() { fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> where Self: Sized, F: FnMut(&[Self::Item; N]) -> R }🔬This is a nightly-only experimental API. (iter_map_windows)
Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), the windows during mapping overlap as well.
#![allow(unused)] fn main() { fn fuse(self) -> Fuse<Self> where Self: Sized }Creates an iterator which ends after the first None.
#![allow(unused)] fn main() { fn inspect<F>(self, f: F) -> Inspect<Self, F> where Self: Sized, F: FnMut(&Self::Item) }Does something with each element of an iterator, passing the value on.
#![allow(unused)] fn main() { fn by_ref(&mut self) -> &mut Self where Self: Sized }Borrows an iterator, rather than consuming it.
#![allow(unused)] fn main() { fn collect<B>(self) -> B where B: FromIterator<Self::Item>, Self: Sized }Transforms an iterator into a collection.
#![allow(unused)] fn main() { fn try_collect<B>(&mut self,) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType where Self: Sized, Self::Item: Try, <Self::Item as Try>::Residual: Residual<B>, B: FromIterator<<Self::Item as Try>::Output> }🔬This is a nightly-only experimental API. (iterator_try_collect)
Fallibly transforms an iterator into a collection, short circuiting if a failure is encountered.
#![allow(unused)] fn main() { fn collect_into<E>(self, collection: &mut E) -> &mut E where E: Extend<Self::Item>, Self: Sized }🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection.
#![allow(unused)] fn main() { fn partition<B, F>(self, f: F) -> (B, B) where Self: Sized, B: Default + Extend<Self::Item>, F: FnMut(&Self::Item) -> bool }Consumes an iterator, creating two collections from it.
#![allow(unused)] fn main() { fn partition_in_place<'a, T, P>(self, predicate: P) -> usize where T: 'a, Self: Sized + DoubleEndedIterator<Item = &'a mut T>, P: FnMut(&T) -> bool }🔬This is a nightly-only experimental API. (iter_partition_in_place)
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.
#![allow(unused)] fn main() { fn is_partitioned<P>(self, predicate: P) -> bool where Self: Sized, P: FnMut(Self::Item) -> bool }🔬This is a nightly-only experimental API. (iter_is_partitioned)
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.
#![allow(unused)] fn main() { fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R where Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B> }An iterator method that applies a function as long as it returns successfully, producing a single, final value.
#![allow(unused)] fn main() { fn try_for_each<F, R>(&mut self, f: F) -> R where Self: Sized, 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.
#![allow(unused)] fn main() { fn fold<B, F>(self, init: B, f: F) -> B where Self: Sized, F: FnMut(B, Self::Item) -> B }Folds every element into an accumulator by applying an operation, returning the final result.
#![allow(unused)] fn main() { fn reduce<F>(self, f: F) -> Option<Self::Item> where Self: Sized, F: FnMut(Self::Item, Self::Item) -> Self::Item }Reduces the elements to a single one, by repeatedly applying a reducing operation.
#![allow(unused)] fn main() { fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType where Self: Sized, R: Try<Output = Self::Item>, <R as Try>::Residual: Residual<Option<Self::Item>> }🔬This is a nightly-only experimental API. (iterator_try_reduce)
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.
#![allow(unused)] fn main() { fn all<F>(&mut self, f: F) -> bool where Self: Sized, F: FnMut(Self::Item) -> bool }Tests if every element of the iterator matches a predicate.
#![allow(unused)] fn main() { fn any<F>(&mut self, f: F) -> bool where Self: Sized, F: FnMut(Self::Item) -> bool }Tests if any element of the iterator matches a predicate.
#![allow(unused)] fn main() { fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where Self: Sized, P: FnMut(&Self::Item) -> bool }Searches for an element of an iterator that satisfies a predicate.
#![allow(unused)] fn main() { fn find_map<B, F>(&mut self, f: F) -> Option<B> where Self: Sized, F: FnMut(Self::Item) -> Option<B> }Applies function to the elements of iterator and returns the first non-none result.
#![allow(unused)] fn main() { fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType where Self: Sized, R: Try<Output = bool>, <R as Try>::Residual: Residual<Option<Self::Item>> }🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns the first true result or the first error.
#![allow(unused)] fn main() { fn position<P>(&mut self, predicate: P) -> Option<usize> where Self: Sized, P: FnMut(Self::Item) -> bool }Searches for an element in an iterator, returning its index.
#![allow(unused)] fn main() { fn rposition<P>(&mut self, predicate: P) -> Option<usize> where P: FnMut(Self::Item) -> bool, Self: Sized + ExactSizeIterator + DoubleEndedIterator }Searches for an element in an iterator from the right, returning its index.
#![allow(unused)] fn main() { fn max(self) -> Option<Self::Item> where Self: Sized, Self::Item: Ord }Returns the maximum element of an iterator.
#![allow(unused)] fn main() { fn min(self) -> Option<Self::Item> where Self: Sized, Self::Item: Ord }Returns the minimum element of an iterator.
#![allow(unused)] fn main() { fn max_by_key<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B }Returns the element that gives the maximum value from the specified function.
#![allow(unused)] fn main() { fn max_by<F>(self, compare: F) -> Option<Self::Item> where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering }Returns the element that gives the maximum value with respect to the specified comparison function.
#![allow(unused)] fn main() { fn min_by_key<B, F>(self, f: F) -> Option<Self::Item> where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B }Returns the element that gives the minimum value from the specified function.
#![allow(unused)] fn main() { fn min_by<F>(self, compare: F) -> Option<Self::Item> where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering }Returns the element that gives the minimum value with respect to the specified comparison function.
#![allow(unused)] fn main() { fn rev(self) -> Rev<Self> where Self: Sized + DoubleEndedIterator }Reverses an iterator’s direction.
#![allow(unused)] fn main() { fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where FromA: Default + Extend<A>, FromB: Default + Extend<B>, Self: Sized + Iterator<Item = (A, B)> }Converts an iterator of pairs into a pair of containers.
#![allow(unused)] fn main() { fn copied<'a, T>(self) -> Copied<Self> where T: 'a + Copy, Self: Sized + Iterator<Item = &'a T> }Creates an iterator which copies all of its elements.
#![allow(unused)] fn main() { fn cloned<'a, T>(self) -> Cloned<Self> where T: 'a + Clone, Self: Sized + Iterator<Item = &'a T> }Creates an iterator which clones all of its elements.
#![allow(unused)] fn main() { fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> where Self: Sized }🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time.
#![allow(unused)] fn main() { fn sum<S>(self) -> S where Self: Sized, S: Sum<Self::Item> }Sums the elements of an iterator.
#![allow(unused)] fn main() { fn product<P>(self) -> P where Self: Sized, P: Product<Self::Item> }Iterates over the entire iterator, multiplying all the elements
#![allow(unused)] fn main() { fn cmp<I>(self, other: I) -> Ordering where I: IntoIterator<Item = Self::Item>, Self::Item: Ord, Self: Sized }Lexicographically compares the elements of this Iterator with those of another.
#![allow(unused)] fn main() { fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering }🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function.
#![allow(unused)] fn main() { fn partial_cmp<I>(self, other: I) -> Option<Ordering> where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized }Lexicographically compares the PartialOrd elements of this Iterator with those of another. The comparison works like short-circuit evaluation, returning a result without comparing the remaining elements. As soon as an order can be determined, the evaluation stops and a result is returned.
#![allow(unused)] fn main() { fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering> }🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function.
#![allow(unused)] fn main() { fn eq<I>(self, other: I) -> bool where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized }Determines if the elements of this Iterator are equal to those of another.
#![allow(unused)] fn main() { fn eq_by<I, F>(self, other: I, eq: F) -> bool where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool }🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of another with respect to the specified equality function.
#![allow(unused)] fn main() { fn ne<I>(self, other: I) -> bool where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized }Determines if the elements of this Iterator are not equal to those of another.
#![allow(unused)] fn main() { fn lt<I>(self, other: I) -> bool where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized }Determines if the elements of this Iterator are lexicographically less than those of another.
#![allow(unused)] fn main() { fn le<I>(self, other: I) -> bool where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized }Determines if the elements of this Iterator are lexicographically less or equal to those of another.
#![allow(unused)] fn main() { fn gt<I>(self, other: I) -> bool where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized }Determines if the elements of this Iterator are lexicographically greater than those of another.
#![allow(unused)] fn main() { fn ge<I>(self, other: I) -> bool where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized }Determines if the elements of this Iterator are lexicographically greater than or equal to those of another.
#![allow(unused)] fn main() { fn is_sorted(self) -> bool where Self: Sized, Self::Item: PartialOrd }Checks if the elements of this iterator are sorted.
#![allow(unused)] fn main() { fn is_sorted_by<F>(self, compare: F) -> bool where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> bool }Checks if the elements of this iterator are sorted using the given comparator function.
#![allow(unused)] fn main() { fn is_sorted_by_key<F, K>(self, f: F) -> bool where Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd }Checks if the elements of this iterator are sorted using the given key extraction function.