[+] Show hidden undocumented itemstype Item = A
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
Returns the bounds on the remaining length of the iterator. Read more
pub fn nth(&mut self, n: usize) -> Option<A>
[src][−]
Returns the n
th element of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬 This is a nightly-only experimental API. (iter_advance_by
)
recently added
Advances the iterator by n
elements. Read more
Creates an iterator starting at the same point, but stepping by
the given amount at each iteration. Read more
pub fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>ⓘ where
U: IntoIterator<Item = Self::Item>,
[src][−]
Takes two iterators and creates a new iterator over both in sequence. Read more
pub fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>ⓘ where
U: IntoIterator,
[src][−]
‘Zips up’ two iterators into a single iterator of pairs. Read more
pub fn intersperse(self, separator: Self::Item) -> Intersperse<Self>ⓘ where
Self::Item: Clone,
[src][−]
🔬 This is a nightly-only experimental API. (iter_intersperse
)
recently added
Creates a new iterator which places a copy of separator
between adjacent
items of the original iterator. Read more
pub fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>ⓘ where
G: FnMut() -> Self::Item,
[src][−]
🔬 This is a nightly-only experimental API. (iter_intersperse
)
recently added
Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more
pub fn map<B, F>(self, f: F) -> Map<Self, F>ⓘ where
F: FnMut(Self::Item) -> B,
[src][−]
Takes a closure and creates an iterator which calls that closure on each
element. Read more
pub fn for_each<F>(self, f: F) where
F: FnMut(Self::Item),
1.21.0[src][−]
Calls a closure on each element of an iterator. Read more
pub fn filter<P>(self, predicate: P) -> Filter<Self, P>ⓘ where
P: FnMut(&Self::Item) -> bool,
[src][−]
Creates an iterator which uses a closure to determine if an element
should be yielded. Read more
pub fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>ⓘ where
F: FnMut(Self::Item) -> Option<B>,
[src][−]
Creates an iterator that both filters and maps. Read more
pub fn enumerate(self) -> Enumerate<Self>ⓘ
[src][−]
Creates an iterator which gives the current iteration count as well as
the next value. Read more
pub fn peekable(self) -> Peekable<Self>ⓘ
[src][−]
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. Read more
pub fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>ⓘ where
P: FnMut(&Self::Item) -> bool,
[src][−]
Creates an iterator that skip
s elements based on a predicate. Read more
pub fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>ⓘ where
P: FnMut(&Self::Item) -> bool,
[src][−]
Creates an iterator that yields elements based on a predicate. Read more
pub fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>ⓘ where
P: FnMut(Self::Item) -> Option<B>,
[src][−]
🔬 This is a nightly-only experimental API. (iter_map_while
)
recently added
Creates an iterator that both yields elements based on a predicate and maps. Read more
pub fn skip(self, n: usize) -> Skip<Self>ⓘ
[src][−]
Creates an iterator that skips the first n
elements. Read more
pub fn take(self, n: usize) -> Take<Self>ⓘ
[src][−]
Creates an iterator that yields the first n
elements, or fewer
if the underlying iterator ends sooner. Read more
pub fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>ⓘNotable traits for Scan<I, St, F>
impl<B, I, St, F> Iterator for Scan<I, St, F> where
F: FnMut(&mut St, <I as Iterator>::Item) -> Option<B>,
I: Iterator, type Item = B;
where
F: FnMut(&mut St, Self::Item) -> Option<B>,
[src][−]
An iterator adaptor similar to fold
that holds internal state and
produces a new iterator. Read more
pub fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>ⓘ where
F: FnMut(Self::Item) -> U,
U: IntoIterator,
[src][−]
Creates an iterator that works like map, but flattens nested structure. Read more
pub fn flatten(self) -> Flatten<Self>ⓘ where
Self::Item: IntoIterator,
1.29.0[src][−]
Creates an iterator that flattens nested structure. Read more
pub fn fuse(self) -> Fuse<Self>ⓘ
[src][−]
pub fn inspect<F>(self, f: F) -> Inspect<Self, F>ⓘ where
F: FnMut(&Self::Item),
[src][−]
Does something with each element of an iterator, passing the value on. Read more
pub fn by_ref(&mut self) -> &mut Self
[src][−]
Borrows an iterator, rather than consuming it. Read more
#[must_use = "if you really need to exhaust the iterator, consider `.for_each(drop)` instead"]
pub fn collect<B>(self) -> B where
B: FromIterator<Self::Item>,
[src][−]
Transforms an iterator into a collection. Read more
pub fn partition<B, F>(self, f: F) -> (B, B) where
F: FnMut(&Self::Item) -> bool,
B: Default + Extend<Self::Item>,
[src][−]
Consumes an iterator, creating two collections from it. Read more
pub fn partition_in_place<'a, T, P>(self, predicate: P) -> usize where
Self: DoubleEndedIterator<Item = &'a mut T>,
T: 'a,
P: FnMut(&T) -> bool,
[src][−]
🔬 This is a nightly-only experimental API. (iter_partition_in_place
)
new API
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
pub fn is_partitioned<P>(self, predicate: P) -> bool where
P: FnMut(Self::Item) -> bool,
[src][−]
🔬 This is a nightly-only experimental API. (iter_is_partitioned
)
new API
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
pub fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R where
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
1.27.0[src][−]
An iterator method that applies a function as long as it returns
successfully, producing a single, final value. Read more
pub fn try_for_each<F, R>(&mut self, f: F) -> R where
F: FnMut(Self::Item) -> R,
R: Try<Ok = ()>,
1.27.0[src][−]
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
pub fn fold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
[src][−]
Folds every element into an accumulator by applying an operation,
returning the final result. Read more
pub fn reduce<F>(self, f: F) -> Option<Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
1.51.0[src][−]
Reduces the elements to a single one, by repeatedly applying a reducing
operation. Read more
pub fn all<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
[src][−]
Tests if every element of the iterator matches a predicate. Read more
pub fn any<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
[src][−]
Tests if any element of the iterator matches a predicate. Read more
pub fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool,
[src][−]
Searches for an element of an iterator that satisfies a predicate. Read more
pub fn find_map<B, F>(&mut self, f: F) -> Option<B> where
F: FnMut(Self::Item) -> Option<B>,
1.30.0[src][−]
Applies function to the elements of iterator and returns
the first non-none result. Read more
pub fn try_find<F, R>(
&mut self,
f: F
) -> Result<Option<Self::Item>, <R as Try>::Error> where
F: FnMut(&Self::Item) -> R,
R: Try<Ok = bool>,
[src][−]
🔬 This is a nightly-only experimental API. (try_find
)
new API
Applies function to the elements of iterator and returns
the first true result or the first error. Read more
pub fn position<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
[src][−]
Searches for an element in an iterator, returning its index. Read more
pub fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
Self: ExactSizeIterator + DoubleEndedIterator,
P: FnMut(Self::Item) -> bool,
[src][−]
Searches for an element in an iterator from the right, returning its
index. Read more
pub fn max(self) -> Option<Self::Item> where
Self::Item: Ord,
[src][−]
Returns the maximum element of an iterator. Read more
pub fn min(self) -> Option<Self::Item> where
Self::Item: Ord,
[src][−]
Returns the minimum element of an iterator. Read more
pub fn max_by_key<B, F>(self, f: F) -> Option<Self::Item> where
F: FnMut(&Self::Item) -> B,
B: Ord,
1.6.0[src][−]
Returns the element that gives the maximum value from the
specified function. Read more
pub fn max_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0[src][−]
Returns the element that gives the maximum value with respect to the
specified comparison function. Read more
pub fn min_by_key<B, F>(self, f: F) -> Option<Self::Item> where
F: FnMut(&Self::Item) -> B,
B: Ord,
1.6.0[src][−]
Returns the element that gives the minimum value from the
specified function. Read more
pub fn min_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0[src][−]
Returns the element that gives the minimum value with respect to the
specified comparison function. Read more
pub fn rev(self) -> Rev<Self>ⓘ where
Self: DoubleEndedIterator,
[src][−]
pub fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where
Self: Iterator<Item = (A, B)>,
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
[src][−]
Converts an iterator of pairs into a pair of containers. Read more
pub fn copied<'a, T>(self) -> Copied<Self>ⓘ where
Self: Iterator<Item = &'a T>,
T: 'a + Copy,
1.36.0[src][−]
Creates an iterator which copies all of its elements. Read more
pub fn cloned<'a, T>(self) -> Cloned<Self>ⓘ where
Self: Iterator<Item = &'a T>,
T: 'a + Clone,
[src][−]
pub fn cycle(self) -> Cycle<Self>ⓘ where
Self: Clone,
[src][−]
pub fn sum<S>(self) -> S where
S: Sum<Self::Item>,
1.11.0[src][−]
pub fn product<P>(self) -> P where
P: Product<Self::Item>,
1.11.0[src][−]
Iterates over the entire iterator, multiplying all the elements Read more
pub fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
1.5.0[src][−]
pub fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,
I: IntoIterator,
[src][−]
🔬 This is a nightly-only experimental API. (iter_order_by
)
pub fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src][−]
pub fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
I: IntoIterator,
[src][−]
🔬 This is a nightly-only experimental API. (iter_order_by
)
pub fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
1.5.0[src][−]
pub fn eq_by<I, F>(self, other: I, eq: F) -> bool where
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,
I: IntoIterator,
[src][−]
🔬 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. Read more
pub fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
1.5.0[src][−]
Determines if the elements of this Iterator
are unequal to those of
another. Read more
pub fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src][−]
pub fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src][−]
pub fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src][−]
pub fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src][−]
pub fn is_sorted(self) -> bool where
Self::Item: PartialOrd<Self::Item>,
[src][−]
🔬 This is a nightly-only experimental API. (is_sorted
)
new API
Checks if the elements of this iterator are sorted. Read more
pub fn is_sorted_by<F>(self, compare: F) -> bool where
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
[src][−]
🔬 This is a nightly-only experimental API. (is_sorted
)
new API
Checks if the elements of this iterator are sorted using the given comparator function. Read more
pub fn is_sorted_by_key<F, K>(self, f: F) -> bool where
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
[src][−]
🔬 This is a nightly-only experimental API. (is_sorted
)
new API
Checks if the elements of this iterator are sorted using the given key extraction
function. Read more
[+] Show hidden undocumented itemstype Output = [T]
The output type returned by methods.
pub fn get(self, slice: &[T]) -> Option<&[T]>
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, if in
bounds. Read more
pub fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, if in
bounds. Read more
pub unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, without
performing any bounds checking.
Calling this method with an out-of-bounds index or a dangling slice
pointer
is undefined behavior even if the resulting reference is not used. Read more
pub unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, without
performing any bounds checking.
Calling this method with an out-of-bounds index or a dangling slice
pointer
is undefined behavior even if the resulting reference is not used. Read more
pub fn index(self, slice: &[T]) -> &[T]
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, panicking
if out of bounds. Read more
pub fn index_mut(self, slice: &mut [T]) -> &mut [T]
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, panicking
if out of bounds. Read more
Implements substring slicing with syntax &self[begin ..]
or &mut self[begin ..]
.
Returns a slice of the given string from the byte range [begin
,
len
). Equivalent to &self[begin .. len]
or &mut self[begin .. len]
.
This operation is O(1).
Prior to 1.20.0, these indexing operations were still supported by
direct implementation of Index
and IndexMut
.
Panics if begin
does not point to the starting byte offset of
a character (as defined by is_char_boundary
), or if begin > len
.
[+] Show hidden undocumented itemstype Output = str
The output type returned by methods.
pub fn get(
self,
slice: &str
) -> Option<&<RangeFrom<usize> as SliceIndex<str>>::Output>
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, if in
bounds. Read more
pub fn get_mut(
self,
slice: &mut str
) -> Option<&mut <RangeFrom<usize> as SliceIndex<str>>::Output>
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, if in
bounds. Read more
pub unsafe fn get_unchecked(
self,
slice: *const str
) -> *const <RangeFrom<usize> as SliceIndex<str>>::Output
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, without
performing any bounds checking.
Calling this method with an out-of-bounds index or a dangling slice
pointer
is undefined behavior even if the resulting reference is not used. Read more
pub unsafe fn get_unchecked_mut(
self,
slice: *mut str
) -> *mut <RangeFrom<usize> as SliceIndex<str>>::Output
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, without
performing any bounds checking.
Calling this method with an out-of-bounds index or a dangling slice
pointer
is undefined behavior even if the resulting reference is not used. Read more
pub fn index(
self,
slice: &str
) -> &<RangeFrom<usize> as SliceIndex<str>>::Outputⓘ
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a shared reference to the output at this location, panicking
if out of bounds. Read more
pub fn index_mut(
self,
slice: &mut str
) -> &mut <RangeFrom<usize> as SliceIndex<str>>::Outputⓘ
[src][−]
🔬 This is a nightly-only experimental API. (slice_index_methods
)
Returns a mutable reference to the output at this location, panicking
if out of bounds. Read more