1.0.0[−][src]Struct af_lib::prelude::Range
A (half-open) range bounded inclusively below and exclusively above
(start..end
).
The range start..end
contains all values with start <= x < end
.
It is empty if start >= end
.
Examples
The start..end
syntax is a Range
:
assert_eq!((3..5), std::ops::Range { start: 3, end: 5 }); assert_eq!(3 + 4 + 5, (3..6).sum());
let arr = [0, 1, 2, 3, 4]; assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]); assert_eq!(arr[ .. 3], [0, 1, 2 ]); assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]); assert_eq!(arr[1.. ], [ 1, 2, 3, 4]); assert_eq!(arr[1.. 3], [ 1, 2 ]); // This is a `Range` assert_eq!(arr[1..=3], [ 1, 2, 3 ]);
Fields
start: Idx
The lower bound of the range (inclusive).
end: Idx
The upper bound of the range (exclusive).
Implementations
impl<Idx> Range<Idx> where
Idx: PartialOrd<Idx>,
[src]
Idx: PartialOrd<Idx>,
pub fn contains<U>(&self, item: &U) -> bool where
U: PartialOrd<Idx> + ?Sized,
Idx: PartialOrd<U>,
1.35.0[src]
U: PartialOrd<Idx> + ?Sized,
Idx: PartialOrd<U>,
Returns true
if item
is contained in the range.
Examples
assert!(!(3..5).contains(&2)); assert!( (3..5).contains(&3)); assert!( (3..5).contains(&4)); assert!(!(3..5).contains(&5)); assert!(!(3..3).contains(&3)); assert!(!(3..2).contains(&3)); assert!( (0.0..1.0).contains(&0.5)); assert!(!(0.0..1.0).contains(&f32::NAN)); assert!(!(0.0..f32::NAN).contains(&0.5)); assert!(!(f32::NAN..1.0).contains(&0.5));
pub fn is_empty(&self) -> bool
1.47.0[src]
Returns true
if the range contains no items.
Examples
assert!(!(3..5).is_empty()); assert!( (3..3).is_empty()); assert!( (3..2).is_empty());
The range is empty if either side is incomparable:
assert!(!(3.0..5.0).is_empty()); assert!( (3.0..f32::NAN).is_empty()); assert!( (f32::NAN..5.0).is_empty());
Trait Implementations
impl<Idx> Clone for Range<Idx> where
Idx: Clone,
[src]
Idx: Clone,
impl<Idx> Debug for Range<Idx> where
Idx: Debug,
[src]
Idx: Debug,
impl<Idx> Default for Range<Idx> where
Idx: Default,
[src]
Idx: Default,
impl<'de, Idx> Deserialize<'de> for Range<Idx> where
Idx: Deserialize<'de>,
[src]
Idx: Deserialize<'de>,
pub fn deserialize<D>(
deserializer: D
) -> Result<Range<Idx>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
deserializer: D
) -> Result<Range<Idx>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl<A> DoubleEndedIterator for Range<A> where
A: Step,
[src]
A: Step,
pub fn next_back(&mut self) -> Option<A>
[src]
pub fn nth_back(&mut self, n: usize) -> Option<A>
[src]
pub fn advance_back_by(&mut self, n: usize) -> Result<(), usize>
[src]
pub fn try_rfold<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]
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
pub fn rfold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
1.27.0[src]
F: FnMut(B, Self::Item) -> B,
pub fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool,
1.27.0[src]
P: FnMut(&Self::Item) -> bool,
impl<Idx> Eq for Range<Idx> where
Idx: Eq,
[src]
Idx: Eq,
impl ExactSizeIterator for Range<usize>
[src]
impl ExactSizeIterator for Range<i16>
[src]
impl ExactSizeIterator for Range<i8>
[src]
impl ExactSizeIterator for Range<i32>
[src]
impl ExactSizeIterator for Range<u16>
[src]
impl ExactSizeIterator for Range<u8>
[src]
impl ExactSizeIterator for Range<u32>
[src]
impl ExactSizeIterator for Range<isize>
[src]
impl<'t> From<Match<'t>> for Range<usize>
impl<'t> From<Match<'t>> for Range<usize>
impl From<Range<Time>> for Span
[src]
impl<A> FusedIterator for Range<A> where
A: Step,
1.26.0[src]
A: Step,
impl<Idx> Hash for Range<Idx> where
Idx: Hash,
[src]
Idx: Hash,
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Index<Range<Position>> for Url
[src]
type Output = str
The returned type after indexing.
pub fn index(&self, range: Range<Position>) -> &str
[src]
impl Index<Range<usize>> for String
[src]
type Output = str
The returned type after indexing.
pub fn index(&self, index: Range<usize>) -> &str
[src]
impl Index<Range<usize>> for UninitSlice
[src]
type Output = UninitSlice
The returned type after indexing.
pub fn index(&self, index: Range<usize>) -> &UninitSlice
[src]
impl<A> Index<Range<usize>> for SmallString<A> where
A: Array<Item = u8>,
A: Array<Item = u8>,
impl IndexMut<Range<usize>> for String
1.3.0[src]
impl IndexMut<Range<usize>> for UninitSlice
[src]
pub fn index_mut(&mut self, index: Range<usize>) -> &mut UninitSlice
[src]
impl<A> IndexMut<Range<usize>> for SmallString<A> where
A: Array<Item = u8>,
A: Array<Item = u8>,
impl<A> Iterator for Range<A> where
A: Step,
[src]
A: Step,
type Item = A
The type of the elements being iterated over.
pub fn next(&mut self) -> Option<A>
[src]
pub fn size_hint(&self) -> (usize, Option<usize>)
[src]
pub fn nth(&mut self, n: usize) -> Option<A>
[src]
pub fn last(self) -> Option<A>
[src]
pub fn min(self) -> Option<A>
[src]
pub fn max(self) -> Option<A>
[src]
pub fn count(self) -> usize
[src]
pub fn advance_by(&mut self, n: usize) -> Result<(), usize>
[src]
pub fn step_by(self, step: usize) -> StepBy<Self>ⓘ
1.28.0[src]
pub fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>ⓘ where
U: IntoIterator<Item = Self::Item>,
[src]
U: IntoIterator<Item = Self::Item>,
pub fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>ⓘ where
U: IntoIterator,
[src]
U: IntoIterator,
pub fn intersperse(self, separator: Self::Item) -> Intersperse<Self>ⓘNotable 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,
[src]
Notable traits for Intersperse<I>
impl<I> Iterator for Intersperse<I> where
I: Iterator,
<I as Iterator>::Item: Clone, type Item = <I as Iterator>::Item;
Self::Item: Clone,
pub fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>ⓘNotable traits for IntersperseWith<I, G>
impl<I, G> Iterator for IntersperseWith<I, G> where
G: FnMut() -> <I as Iterator>::Item,
I: Iterator, type Item = <I as Iterator>::Item;
where
G: FnMut() -> Self::Item,
[src]
Notable traits for IntersperseWith<I, G>
impl<I, G> Iterator for IntersperseWith<I, G> where
G: FnMut() -> <I as Iterator>::Item,
I: Iterator, type Item = <I as Iterator>::Item;
G: FnMut() -> Self::Item,
pub fn map<B, F>(self, f: F) -> Map<Self, F>ⓘ where
F: FnMut(Self::Item) -> B,
[src]
F: FnMut(Self::Item) -> B,
pub fn for_each<F>(self, f: F) where
F: FnMut(Self::Item),
1.21.0[src]
F: FnMut(Self::Item),
pub fn filter<P>(self, predicate: P) -> Filter<Self, P>ⓘ where
P: FnMut(&Self::Item) -> bool,
[src]
P: FnMut(&Self::Item) -> bool,
pub fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>ⓘ where
F: FnMut(Self::Item) -> Option<B>,
[src]
F: FnMut(Self::Item) -> Option<B>,
pub fn enumerate(self) -> Enumerate<Self>ⓘ
[src]
pub fn peekable(self) -> Peekable<Self>ⓘ
[src]
pub fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>ⓘ where
P: FnMut(&Self::Item) -> bool,
[src]
P: FnMut(&Self::Item) -> bool,
pub fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>ⓘ where
P: FnMut(&Self::Item) -> bool,
[src]
P: FnMut(&Self::Item) -> bool,
pub fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>ⓘ where
P: FnMut(Self::Item) -> Option<B>,
[src]
P: FnMut(Self::Item) -> Option<B>,
pub fn skip(self, n: usize) -> Skip<Self>ⓘ
[src]
pub fn take(self, n: usize) -> Take<Self>ⓘ
[src]
pub fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>ⓘ where
F: FnMut(&mut St, Self::Item) -> Option<B>,
[src]
F: FnMut(&mut St, Self::Item) -> Option<B>,
pub fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>ⓘ where
F: FnMut(Self::Item) -> U,
U: IntoIterator,
[src]
F: FnMut(Self::Item) -> U,
U: IntoIterator,
pub fn flatten(self) -> Flatten<Self>ⓘ where
Self::Item: IntoIterator,
1.29.0[src]
Self::Item: IntoIterator,
pub fn fuse(self) -> Fuse<Self>ⓘ
[src]
pub fn inspect<F>(self, f: F) -> Inspect<Self, F>ⓘ where
F: FnMut(&Self::Item),
[src]
F: FnMut(&Self::Item),
pub fn by_ref(&mut self) -> &mut SelfⓘNotable traits for &'_ mut R
impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
[src]
Notable traits for &'_ mut R
impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
#[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]
B: FromIterator<Self::Item>,
pub fn partition<B, F>(self, f: F) -> (B, B) where
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
[src]
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
pub fn partition_in_place<'a, T, P>(self, predicate: P) -> usize where
Self: DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
T: 'a,
[src]
Self: DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
T: 'a,
pub fn is_partitioned<P>(self, predicate: P) -> bool where
P: FnMut(Self::Item) -> bool,
[src]
P: FnMut(Self::Item) -> bool,
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]
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
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]
F: FnMut(Self::Item) -> R,
R: Try<Ok = ()>,
pub fn fold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
[src]
F: FnMut(B, Self::Item) -> B,
pub fn fold_first<F>(self, f: F) -> Option<Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
[src]
F: FnMut(Self::Item, Self::Item) -> Self::Item,
pub fn all<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
[src]
F: FnMut(Self::Item) -> bool,
pub fn any<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
[src]
F: FnMut(Self::Item) -> bool,
pub fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool,
[src]
P: FnMut(&Self::Item) -> bool,
pub fn find_map<B, F>(&mut self, f: F) -> Option<B> where
F: FnMut(Self::Item) -> Option<B>,
1.30.0[src]
F: FnMut(Self::Item) -> Option<B>,
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]
&mut self,
f: F
) -> Result<Option<Self::Item>, <R as Try>::Error> where
F: FnMut(&Self::Item) -> R,
R: Try<Ok = bool>,
pub fn position<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
[src]
P: FnMut(Self::Item) -> bool,
pub fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
Self: ExactSizeIterator + DoubleEndedIterator,
P: FnMut(Self::Item) -> bool,
[src]
Self: ExactSizeIterator + DoubleEndedIterator,
P: FnMut(Self::Item) -> bool,
pub fn max_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B,
1.6.0[src]
B: Ord,
F: FnMut(&Self::Item) -> B,
pub fn max_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn min_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B,
1.6.0[src]
B: Ord,
F: FnMut(&Self::Item) -> B,
pub fn min_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn rev(self) -> Rev<Self>ⓘ where
Self: DoubleEndedIterator,
[src]
Self: DoubleEndedIterator,
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]
Self: Iterator<Item = (A, B)>,
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
pub fn copied<'a, T>(self) -> Copied<Self>ⓘ where
Self: Iterator<Item = &'a T>,
T: 'a + Copy,
1.36.0[src]
Self: Iterator<Item = &'a T>,
T: 'a + Copy,
pub fn cloned<'a, T>(self) -> Cloned<Self>ⓘ where
Self: Iterator<Item = &'a T>,
T: 'a + Clone,
[src]
Self: Iterator<Item = &'a T>,
T: 'a + Clone,
pub fn cycle(self) -> Cycle<Self>ⓘ where
Self: Clone,
[src]
Self: Clone,
pub fn sum<S>(self) -> S where
S: Sum<Self::Item>,
1.11.0[src]
S: Sum<Self::Item>,
pub fn product<P>(self) -> P where
P: Product<Self::Item>,
1.11.0[src]
P: Product<Self::Item>,
pub fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
1.5.0[src]
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
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]
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,
I: IntoIterator,
pub fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
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]
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
I: IntoIterator,
pub fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
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]
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,
I: IntoIterator,
pub fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
pub fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
pub fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
pub fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
pub fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
pub fn is_sorted(self) -> bool where
Self::Item: PartialOrd<Self::Item>,
[src]
Self::Item: PartialOrd<Self::Item>,
pub fn is_sorted_by<F>(self, compare: F) -> bool where
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
pub fn is_sorted_by_key<F, K>(self, f: F) -> bool where
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
[src]
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
impl<Idx> PartialEq<Range<Idx>> for Range<Idx> where
Idx: PartialEq<Idx>,
[src]
Idx: PartialEq<Idx>,
impl<'_, T> RangeBounds<T> for Range<&'_ T>
1.28.0[src]
pub fn start_bound(&self) -> Bound<&T>
[src]
pub fn end_bound(&self) -> Bound<&T>
[src]
pub fn assert_len(self, len: usize) -> Range<usize>ⓘ where
Self: RangeBounds<usize>,
[src]
Self: RangeBounds<usize>,
pub fn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
1.35.0[src]
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
impl<T> RangeBounds<T> for Range<T>
1.28.0[src]
pub fn start_bound(&self) -> Bound<&T>
[src]
pub fn end_bound(&self) -> Bound<&T>
[src]
pub fn assert_len(self, len: usize) -> Range<usize>ⓘ where
Self: RangeBounds<usize>,
[src]
Self: RangeBounds<usize>,
pub fn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
1.35.0[src]
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
impl<T> SampleRange<T> for Range<T> where
T: SampleUniform + PartialOrd<T>,
[src]
T: SampleUniform + PartialOrd<T>,
pub fn sample_single<R>(self, rng: &mut R) -> T where
R: RngCore + ?Sized,
[src]
R: RngCore + ?Sized,
pub fn is_empty(&self) -> bool
[src]
impl<Idx> Serialize for Range<Idx> where
Idx: Serialize,
[src]
Idx: Serialize,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl<T> SliceIndex<[T]> for Range<usize>
1.15.0[src]
type Output = [T]
The output type returned by methods.
pub fn get(self, slice: &[T]) -> Option<&[T]>
[src]
pub fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
[src]
pub unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
[src]
pub unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
[src]
pub fn index(self, slice: &[T]) -> &[T]ⓘ
[src]
pub fn index_mut(self, slice: &mut [T]) -> &mut [T]ⓘ
[src]
impl SliceIndex<str> for Range<usize>
1.20.0[src]
Implements substring slicing with syntax &self[begin .. end]
or &mut self[begin .. end]
.
Returns a slice of the given string from the byte range
[begin
, end
).
This operation is O(1).
Prior to 1.20.0, these indexing operations were still supported by
direct implementation of Index
and IndexMut
.
Panics
Panics if begin
or end
does not point to the starting byte offset of
a character (as defined by is_char_boundary
), if begin > end
, or if
end > len
.
Examples
let s = "Löwe 老虎 Léopard"; assert_eq!(&s[0 .. 1], "L"); assert_eq!(&s[1 .. 9], "öwe 老"); // these will panic: // byte 2 lies within `ö`: // &s[2 ..3]; // byte 8 lies within `老` // &s[1 .. 8]; // byte 100 is outside the string // &s[3 .. 100];
type Output = str
The output type returned by methods.
pub fn get(
self,
slice: &str
) -> Option<&<Range<usize> as SliceIndex<str>>::Output>
[src]
self,
slice: &str
) -> Option<&<Range<usize> as SliceIndex<str>>::Output>
pub fn get_mut(
self,
slice: &mut str
) -> Option<&mut <Range<usize> as SliceIndex<str>>::Output>
[src]
self,
slice: &mut str
) -> Option<&mut <Range<usize> as SliceIndex<str>>::Output>
pub unsafe fn get_unchecked(
self,
slice: *const str
) -> *const <Range<usize> as SliceIndex<str>>::Output
[src]
self,
slice: *const str
) -> *const <Range<usize> as SliceIndex<str>>::Output
pub unsafe fn get_unchecked_mut(
self,
slice: *mut str
) -> *mut <Range<usize> as SliceIndex<str>>::Output
[src]
self,
slice: *mut str
) -> *mut <Range<usize> as SliceIndex<str>>::Output
pub fn index(self, slice: &str) -> &<Range<usize> as SliceIndex<str>>::Outputⓘ
[src]
pub fn index_mut(
self,
slice: &mut str
) -> &mut <Range<usize> as SliceIndex<str>>::Outputⓘ
[src]
self,
slice: &mut str
) -> &mut <Range<usize> as SliceIndex<str>>::Outputⓘ
impl<Idx> StructuralEq for Range<Idx>
[src]
impl<Idx> StructuralPartialEq for Range<Idx>
[src]
impl<A> TrustedLen for Range<A> where
A: Step,
[src]
A: Step,
Auto Trait Implementations
impl<Idx> RefUnwindSafe for Range<Idx> where
Idx: RefUnwindSafe,
[src]
Idx: RefUnwindSafe,
impl<Idx> Send for Range<Idx> where
Idx: Send,
[src]
Idx: Send,
impl<Idx> Sync for Range<Idx> where
Idx: Sync,
[src]
Idx: Sync,
impl<Idx> Unpin for Range<Idx> where
Idx: Unpin,
[src]
Idx: Unpin,
impl<Idx> UnwindSafe for Range<Idx> where
Idx: UnwindSafe,
[src]
Idx: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow(&self) -> &TⓘNotable traits for &'_ mut R
impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
[src]
Notable traits for &'_ mut R
impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut R
impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
[src]
Notable traits for &'_ mut R
impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
[src]
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> I
[src]
impl<I> IteratorRandom for I where
I: Iterator,
[src]
I: Iterator,
pub fn choose<R>(self, rng: &mut R) -> Option<Self::Item> where
R: Rng + ?Sized,
[src]
R: Rng + ?Sized,
pub fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item> where
R: Rng + ?Sized,
[src]
R: Rng + ?Sized,
pub fn choose_multiple_fill<R>(
self,
rng: &mut R,
buf: &mut [Self::Item]
) -> usize where
R: Rng + ?Sized,
[src]
self,
rng: &mut R,
buf: &mut [Self::Item]
) -> usize where
R: Rng + ?Sized,
pub fn choose_multiple<R>(
self,
rng: &mut R,
amount: usize
) -> Vec<Self::Item, Global>ⓘ where
R: Rng + ?Sized,
[src]
self,
rng: &mut R,
amount: usize
) -> Vec<Self::Item, Global>ⓘ where
R: Rng + ?Sized,
impl<I> IteratorRandom for I where
I: Iterator,
[src]
I: Iterator,
pub fn choose<R>(self, rng: &mut R) -> Option<Self::Item> where
R: Rng + ?Sized,
[src]
R: Rng + ?Sized,
pub fn choose_multiple_fill<R>(
self,
rng: &mut R,
buf: &mut [Self::Item]
) -> usize where
R: Rng + ?Sized,
[src]
self,
rng: &mut R,
buf: &mut [Self::Item]
) -> usize where
R: Rng + ?Sized,
pub fn choose_multiple<R>(
self,
rng: &mut R,
amount: usize
) -> Vec<Self::Item, Global>ⓘ where
R: Rng + ?Sized,
[src]
self,
rng: &mut R,
amount: usize
) -> Vec<Self::Item, Global>ⓘ where
R: Rng + ?Sized,
impl<T> Itertools for T where
T: Iterator + ?Sized,
[src]
T: Iterator + ?Sized,
pub fn interleave<J>(
self,
other: J
) -> Interleave<Self, <J as IntoIterator>::IntoIter>ⓘNotable traits for Interleave<I, J>
impl<I, J> Iterator for Interleave<I, J> where
I: Iterator,
J: Iterator<Item = <I as Iterator>::Item>, type Item = <I as Iterator>::Item;
where
J: IntoIterator<Item = Self::Item>,
[src]
self,
other: J
) -> Interleave<Self, <J as IntoIterator>::IntoIter>ⓘ
Notable traits for Interleave<I, J>
impl<I, J> Iterator for Interleave<I, J> where
I: Iterator,
J: Iterator<Item = <I as Iterator>::Item>, type Item = <I as Iterator>::Item;
J: IntoIterator<Item = Self::Item>,
pub fn interleave_shortest<J>(
self,
other: J
) -> InterleaveShortest<Self, <J as IntoIterator>::IntoIter>ⓘNotable traits for InterleaveShortest<I, J>
impl<I, J> Iterator for InterleaveShortest<I, J> where
I: Iterator,
J: Iterator<Item = <I as Iterator>::Item>, type Item = <I as Iterator>::Item;
where
J: IntoIterator<Item = Self::Item>,
[src]
self,
other: J
) -> InterleaveShortest<Self, <J as IntoIterator>::IntoIter>ⓘ
Notable traits for InterleaveShortest<I, J>
impl<I, J> Iterator for InterleaveShortest<I, J> where
I: Iterator,
J: Iterator<Item = <I as Iterator>::Item>, type Item = <I as Iterator>::Item;
J: IntoIterator<Item = Self::Item>,
pub fn intersperse(
self,
element: Self::Item
) -> IntersperseWith<Self, IntersperseElementSimple<Self::Item>>ⓘNotable traits for IntersperseWith<I, ElemF>
impl<I, ElemF> Iterator for IntersperseWith<I, ElemF> where
I: Iterator,
ElemF: IntersperseElement<<I as Iterator>::Item>, type Item = <I as Iterator>::Item;
where
Self::Item: Clone,
[src]
self,
element: Self::Item
) -> IntersperseWith<Self, IntersperseElementSimple<Self::Item>>ⓘ
Notable traits for IntersperseWith<I, ElemF>
impl<I, ElemF> Iterator for IntersperseWith<I, ElemF> where
I: Iterator,
ElemF: IntersperseElement<<I as Iterator>::Item>, type Item = <I as Iterator>::Item;
Self::Item: Clone,
pub fn intersperse_with<F>(self, element: F) -> IntersperseWith<Self, F>ⓘNotable traits for IntersperseWith<I, ElemF>
impl<I, ElemF> Iterator for IntersperseWith<I, ElemF> where
I: Iterator,
ElemF: IntersperseElement<<I as Iterator>::Item>, type Item = <I as Iterator>::Item;
where
F: FnMut() -> Self::Item,
[src]
Notable traits for IntersperseWith<I, ElemF>
impl<I, ElemF> Iterator for IntersperseWith<I, ElemF> where
I: Iterator,
ElemF: IntersperseElement<<I as Iterator>::Item>, type Item = <I as Iterator>::Item;
F: FnMut() -> Self::Item,
pub fn zip_longest<J>(
self,
other: J
) -> ZipLongest<Self, <J as IntoIterator>::IntoIter>ⓘNotable traits for ZipLongest<T, U>
impl<T, U> Iterator for ZipLongest<T, U> where
T: Iterator,
U: Iterator, type Item = EitherOrBoth<<T as Iterator>::Item, <U as Iterator>::Item>;
where
J: IntoIterator,
[src]
self,
other: J
) -> ZipLongest<Self, <J as IntoIterator>::IntoIter>ⓘ
Notable traits for ZipLongest<T, U>
impl<T, U> Iterator for ZipLongest<T, U> where
T: Iterator,
U: Iterator, type Item = EitherOrBoth<<T as Iterator>::Item, <U as Iterator>::Item>;
J: IntoIterator,
pub fn zip_eq<J>(self, other: J) -> ZipEq<Self, <J as IntoIterator>::IntoIter>ⓘ where
J: IntoIterator,
[src]
J: IntoIterator,
pub fn batching<B, F>(self, f: F) -> Batching<Self, F>ⓘ where
F: FnMut(&mut Self) -> Option<B>,
[src]
F: FnMut(&mut Self) -> Option<B>,
pub fn group_by<K, F>(self, key: F) -> GroupBy<K, Self, F> where
F: FnMut(&Self::Item) -> K,
K: PartialEq<K>,
[src]
F: FnMut(&Self::Item) -> K,
K: PartialEq<K>,
pub fn chunks(self, size: usize) -> IntoChunks<Self>
[src]
pub fn tuple_windows<T>(self) -> TupleWindows<Self, T>ⓘNotable traits for TupleWindows<I, T>
impl<I, T> Iterator for TupleWindows<I, T> where
T: HomogeneousTuple + Clone,
I: Iterator<Item = <T as TupleCollect>::Item>,
<T as TupleCollect>::Item: Clone, type Item = T;
where
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
<T as TupleCollect>::Item: Clone,
[src]
Notable traits for TupleWindows<I, T>
impl<I, T> Iterator for TupleWindows<I, T> where
T: HomogeneousTuple + Clone,
I: Iterator<Item = <T as TupleCollect>::Item>,
<T as TupleCollect>::Item: Clone, type Item = T;
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
<T as TupleCollect>::Item: Clone,
pub fn circular_tuple_windows<T>(self) -> CircularTupleWindows<Self, T>ⓘNotable traits for CircularTupleWindows<I, T>
impl<I, T> Iterator for CircularTupleWindows<I, T> where
T: TupleCollect + Clone,
I: Iterator<Item = <T as TupleCollect>::Item> + Clone,
<T as TupleCollect>::Item: Clone, type Item = T;
where
Self: Clone + Iterator<Item = <T as TupleCollect>::Item> + ExactSizeIterator,
T: TupleCollect + Clone,
<T as TupleCollect>::Item: Clone,
[src]
Notable traits for CircularTupleWindows<I, T>
impl<I, T> Iterator for CircularTupleWindows<I, T> where
T: TupleCollect + Clone,
I: Iterator<Item = <T as TupleCollect>::Item> + Clone,
<T as TupleCollect>::Item: Clone, type Item = T;
Self: Clone + Iterator<Item = <T as TupleCollect>::Item> + ExactSizeIterator,
T: TupleCollect + Clone,
<T as TupleCollect>::Item: Clone,
pub fn tuples<T>(self) -> Tuples<Self, T>ⓘ where
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
[src]
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
pub fn tee(self) -> (Tee<Self>, Tee<Self>) where
Self::Item: Clone,
[src]
Self::Item: Clone,
pub fn step(self, n: usize) -> Step<Self>ⓘ
[src]
pub fn map_into<R>(self) -> MapSpecialCase<Self, MapSpecialCaseFnInto<R>> where
Self::Item: Into<R>,
[src]
Self::Item: Into<R>,
pub fn map_results<F, T, U, E>(
self,
f: F
) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>> where
Self: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> U,
[src]
self,
f: F
) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>> where
Self: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> U,
pub fn map_ok<F, T, U, E>(
self,
f: F
) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>> where
Self: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> U,
[src]
self,
f: F
) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>> where
Self: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> U,
pub fn filter_ok<F, T, E>(self, f: F) -> FilterOk<Self, F>ⓘ where
Self: Iterator<Item = Result<T, E>>,
F: FnMut(&T) -> bool,
[src]
Self: Iterator<Item = Result<T, E>>,
F: FnMut(&T) -> bool,
pub fn filter_map_ok<F, T, U, E>(self, f: F) -> FilterMapOk<Self, F>ⓘNotable traits for FilterMapOk<I, F>
impl<I, F, T, U, E> Iterator for FilterMapOk<I, F> where
F: FnMut(T) -> Option<U>,
I: Iterator<Item = Result<T, E>>, type Item = Result<U, E>;
where
Self: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Option<U>,
[src]
Notable traits for FilterMapOk<I, F>
impl<I, F, T, U, E> Iterator for FilterMapOk<I, F> where
F: FnMut(T) -> Option<U>,
I: Iterator<Item = Result<T, E>>, type Item = Result<U, E>;
Self: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Option<U>,
pub fn merge<J>(
self,
other: J
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeLte>ⓘ where
J: IntoIterator<Item = Self::Item>,
Self::Item: PartialOrd<Self::Item>,
[src]
self,
other: J
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeLte>ⓘ where
J: IntoIterator<Item = Self::Item>,
Self::Item: PartialOrd<Self::Item>,
pub fn merge_by<J, F>(
self,
other: J,
is_first: F
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, F>ⓘ where
F: FnMut(&Self::Item, &Self::Item) -> bool,
J: IntoIterator<Item = Self::Item>,
[src]
self,
other: J,
is_first: F
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, F>ⓘ where
F: FnMut(&Self::Item, &Self::Item) -> bool,
J: IntoIterator<Item = Self::Item>,
pub fn merge_join_by<J, F>(
self,
other: J,
cmp_fn: F
) -> MergeJoinBy<Self, <J as IntoIterator>::IntoIter, F>ⓘ where
F: FnMut(&Self::Item, &<J as IntoIterator>::Item) -> Ordering,
J: IntoIterator,
[src]
self,
other: J,
cmp_fn: F
) -> MergeJoinBy<Self, <J as IntoIterator>::IntoIter, F>ⓘ where
F: FnMut(&Self::Item, &<J as IntoIterator>::Item) -> Ordering,
J: IntoIterator,
pub fn kmerge(
self
) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, KMergeByLt>ⓘ where
Self::Item: IntoIterator,
<Self::Item as IntoIterator>::Item: PartialOrd<<Self::Item as IntoIterator>::Item>,
[src]
self
) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, KMergeByLt>ⓘ where
Self::Item: IntoIterator,
<Self::Item as IntoIterator>::Item: PartialOrd<<Self::Item as IntoIterator>::Item>,
pub fn kmerge_by<F>(
self,
first: F
) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, F>ⓘ where
F: FnMut(&<Self::Item as IntoIterator>::Item, &<Self::Item as IntoIterator>::Item) -> bool,
Self::Item: IntoIterator,
[src]
self,
first: F
) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, F>ⓘ where
F: FnMut(&<Self::Item as IntoIterator>::Item, &<Self::Item as IntoIterator>::Item) -> bool,
Self::Item: IntoIterator,
pub fn cartesian_product<J>(
self,
other: J
) -> Product<Self, <J as IntoIterator>::IntoIter>ⓘ where
J: IntoIterator,
Self::Item: Clone,
<J as IntoIterator>::IntoIter: Clone,
[src]
self,
other: J
) -> Product<Self, <J as IntoIterator>::IntoIter>ⓘ where
J: IntoIterator,
Self::Item: Clone,
<J as IntoIterator>::IntoIter: Clone,
pub fn multi_cartesian_product(
self
) -> MultiProduct<<Self::Item as IntoIterator>::IntoIter>ⓘ where
Self: Iterator,
Self::Item: IntoIterator,
<Self::Item as IntoIterator>::IntoIter: Clone,
<Self::Item as IntoIterator>::Item: Clone,
[src]
self
) -> MultiProduct<<Self::Item as IntoIterator>::IntoIter>ⓘ where
Self: Iterator,
Self::Item: IntoIterator,
<Self::Item as IntoIterator>::IntoIter: Clone,
<Self::Item as IntoIterator>::Item: Clone,
pub fn coalesce<F>(self, f: F) -> CoalesceBy<Self, F, Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Result<Self::Item, (Self::Item, Self::Item)>,
[src]
F: FnMut(Self::Item, Self::Item) -> Result<Self::Item, (Self::Item, Self::Item)>,
pub fn dedup(
self
) -> CoalesceBy<Self, DedupPred2CoalescePred<DedupEq>, Self::Item> where
Self::Item: PartialEq<Self::Item>,
[src]
self
) -> CoalesceBy<Self, DedupPred2CoalescePred<DedupEq>, Self::Item> where
Self::Item: PartialEq<Self::Item>,
pub fn dedup_by<Cmp>(
self,
cmp: Cmp
) -> CoalesceBy<Self, DedupPred2CoalescePred<Cmp>, Self::Item> where
Cmp: FnMut(&Self::Item, &Self::Item) -> bool,
[src]
self,
cmp: Cmp
) -> CoalesceBy<Self, DedupPred2CoalescePred<Cmp>, Self::Item> where
Cmp: FnMut(&Self::Item, &Self::Item) -> bool,
pub fn dedup_with_count(
self
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<DedupEq>, (usize, Self::Item)>
[src]
self
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<DedupEq>, (usize, Self::Item)>
pub fn dedup_by_with_count<Cmp>(
self,
cmp: Cmp
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<Cmp>, (usize, Self::Item)> where
Cmp: FnMut(&Self::Item, &Self::Item) -> bool,
[src]
self,
cmp: Cmp
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<Cmp>, (usize, Self::Item)> where
Cmp: FnMut(&Self::Item, &Self::Item) -> bool,
pub fn unique(self) -> Unique<Self>ⓘ where
Self::Item: Clone,
Self::Item: Eq,
Self::Item: Hash,
[src]
Self::Item: Clone,
Self::Item: Eq,
Self::Item: Hash,
pub fn unique_by<V, F>(self, f: F) -> UniqueBy<Self, V, F>ⓘ where
V: Eq + Hash,
F: FnMut(&Self::Item) -> V,
[src]
V: Eq + Hash,
F: FnMut(&Self::Item) -> V,
pub fn peeking_take_while<F>(
&mut self,
accept: F
) -> PeekingTakeWhile<'_, Self, F>ⓘNotable traits for PeekingTakeWhile<'a, I, F>
impl<'a, I, F> Iterator for PeekingTakeWhile<'a, I, F> where
F: FnMut(&<I as Iterator>::Item) -> bool,
I: PeekingNext, type Item = <I as Iterator>::Item;
where
Self: PeekingNext,
F: FnMut(&Self::Item) -> bool,
[src]
&mut self,
accept: F
) -> PeekingTakeWhile<'_, Self, F>ⓘ
Notable traits for PeekingTakeWhile<'a, I, F>
impl<'a, I, F> Iterator for PeekingTakeWhile<'a, I, F> where
F: FnMut(&<I as Iterator>::Item) -> bool,
I: PeekingNext, type Item = <I as Iterator>::Item;
Self: PeekingNext,
F: FnMut(&Self::Item) -> bool,
pub fn take_while_ref<F>(&mut self, accept: F) -> TakeWhileRef<'_, Self, F>ⓘ where
Self: Clone,
F: FnMut(&Self::Item) -> bool,
[src]
Self: Clone,
F: FnMut(&Self::Item) -> bool,
pub fn while_some<A>(self) -> WhileSome<Self>ⓘ where
Self: Iterator<Item = Option<A>>,
[src]
Self: Iterator<Item = Option<A>>,
pub fn tuple_combinations<T>(self) -> TupleCombinations<Self, T>ⓘNotable traits for TupleCombinations<I, T>
impl<I, T> Iterator for TupleCombinations<I, T> where
T: HasCombination<I>,
I: Iterator, type Item = T;
where
Self: Clone,
T: HasCombination<Self>,
Self::Item: Clone,
[src]
Notable traits for TupleCombinations<I, T>
impl<I, T> Iterator for TupleCombinations<I, T> where
T: HasCombination<I>,
I: Iterator, type Item = T;
Self: Clone,
T: HasCombination<Self>,
Self::Item: Clone,
pub fn combinations(self, k: usize) -> Combinations<Self>ⓘ where
Self::Item: Clone,
[src]
Self::Item: Clone,
pub fn combinations_with_replacement(
self,
k: usize
) -> CombinationsWithReplacement<Self>ⓘ where
Self::Item: Clone,
[src]
self,
k: usize
) -> CombinationsWithReplacement<Self>ⓘ where
Self::Item: Clone,
pub fn permutations(self, k: usize) -> Permutations<Self>ⓘ where
Self::Item: Clone,
[src]
Self::Item: Clone,
pub fn powerset(self) -> Powerset<Self>ⓘ where
Self::Item: Clone,
[src]
Self::Item: Clone,
pub fn pad_using<F>(self, min: usize, f: F) -> PadUsing<Self, F>ⓘ where
F: FnMut(usize) -> Self::Item,
[src]
F: FnMut(usize) -> Self::Item,
pub fn with_position(self) -> WithPosition<Self>ⓘNotable traits for WithPosition<I>
impl<I> Iterator for WithPosition<I> where
I: Iterator, type Item = Position<<I as Iterator>::Item>;
[src]
Notable traits for WithPosition<I>
impl<I> Iterator for WithPosition<I> where
I: Iterator, type Item = Position<<I as Iterator>::Item>;
pub fn positions<P>(self, predicate: P) -> Positions<Self, P>ⓘ where
P: FnMut(Self::Item) -> bool,
[src]
P: FnMut(Self::Item) -> bool,
pub fn update<F>(self, updater: F) -> Update<Self, F>ⓘ where
F: FnMut(&mut Self::Item),
[src]
F: FnMut(&mut Self::Item),
pub fn next_tuple<T>(&mut self) -> Option<T> where
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
[src]
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
pub fn collect_tuple<T>(self) -> Option<T> where
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
[src]
Self: Iterator<Item = <T as TupleCollect>::Item>,
T: HomogeneousTuple,
pub fn find_position<P>(&mut self, pred: P) -> Option<(usize, Self::Item)> where
P: FnMut(&Self::Item) -> bool,
[src]
P: FnMut(&Self::Item) -> bool,
pub fn all_equal(&mut self) -> bool where
Self::Item: PartialEq<Self::Item>,
[src]
Self::Item: PartialEq<Self::Item>,
pub fn dropping(self, n: usize) -> Self
[src]
pub fn dropping_back(self, n: usize) -> Self where
Self: DoubleEndedIterator,
[src]
Self: DoubleEndedIterator,
pub fn foreach<F>(self, f: F) where
F: FnMut(Self::Item),
[src]
F: FnMut(Self::Item),
pub fn concat(self) -> Self::Item where
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
[src]
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
pub fn collect_vec(self) -> Vec<Self::Item, Global>ⓘ
[src]
pub fn try_collect<T, U, E>(self) -> Result<U, E> where
Self: Iterator<Item = Result<T, E>>,
Result<U, E>: FromIterator<Result<T, E>>,
[src]
Self: Iterator<Item = Result<T, E>>,
Result<U, E>: FromIterator<Result<T, E>>,
pub fn set_from<'a, A, J>(&mut self, from: J) -> usize where
Self: Iterator<Item = &'a mut A>,
A: 'a,
J: IntoIterator<Item = A>,
[src]
Self: Iterator<Item = &'a mut A>,
A: 'a,
J: IntoIterator<Item = A>,
pub fn join(&mut self, sep: &str) -> String where
Self::Item: Display,
[src]
Self::Item: Display,
pub fn format(self, sep: &str) -> Format<'_, Self>
[src]
pub fn format_with<F>(self, sep: &str, format: F) -> FormatWith<'_, Self, F> where
F: FnMut(Self::Item, &mut dyn FnMut(&dyn Display)) -> Result<(), Error>,
[src]
F: FnMut(Self::Item, &mut dyn FnMut(&dyn Display)) -> Result<(), Error>,
pub fn fold_results<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E> where
Self: Iterator<Item = Result<A, E>>,
F: FnMut(B, A) -> B,
[src]
Self: Iterator<Item = Result<A, E>>,
F: FnMut(B, A) -> B,
pub fn fold_ok<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E> where
Self: Iterator<Item = Result<A, E>>,
F: FnMut(B, A) -> B,
[src]
Self: Iterator<Item = Result<A, E>>,
F: FnMut(B, A) -> B,
pub fn fold_options<A, B, F>(&mut self, start: B, f: F) -> Option<B> where
Self: Iterator<Item = Option<A>>,
F: FnMut(B, A) -> B,
[src]
Self: Iterator<Item = Option<A>>,
F: FnMut(B, A) -> B,
pub fn fold1<F>(self, f: F) -> Option<Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
[src]
F: FnMut(Self::Item, Self::Item) -> Self::Item,
pub fn tree_fold1<F>(self, f: F) -> Option<Self::Item> where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
[src]
F: FnMut(Self::Item, Self::Item) -> Self::Item,
pub fn fold_while<B, F>(&mut self, init: B, f: F) -> FoldWhile<B> where
F: FnMut(B, Self::Item) -> FoldWhile<B>,
[src]
F: FnMut(B, Self::Item) -> FoldWhile<B>,
pub fn sum1<S>(self) -> Option<S> where
S: Sum<Self::Item>,
[src]
S: Sum<Self::Item>,
pub fn product1<P>(self) -> Option<P> where
P: Product<Self::Item>,
[src]
P: Product<Self::Item>,
pub fn sorted_unstable(self) -> IntoIter<Self::Item, Global>ⓘ where
Self::Item: Ord,
[src]
Self::Item: Ord,
pub fn sorted_unstable_by<F>(self, cmp: F) -> IntoIter<Self::Item, Global>ⓘ where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn sorted_unstable_by_key<K, F>(self, f: F) -> IntoIter<Self::Item, Global>ⓘ where
F: FnMut(&Self::Item) -> K,
K: Ord,
[src]
F: FnMut(&Self::Item) -> K,
K: Ord,
pub fn sorted(self) -> IntoIter<Self::Item, Global>ⓘ where
Self::Item: Ord,
[src]
Self::Item: Ord,
pub fn sorted_by<F>(self, cmp: F) -> IntoIter<Self::Item, Global>ⓘ where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn sorted_by_key<K, F>(self, f: F) -> IntoIter<Self::Item, Global>ⓘ where
F: FnMut(&Self::Item) -> K,
K: Ord,
[src]
F: FnMut(&Self::Item) -> K,
K: Ord,
pub fn k_smallest(self, k: usize) -> IntoIter<Self::Item, Global>ⓘ where
Self::Item: Ord,
[src]
Self::Item: Ord,
pub fn partition_map<A, B, F, L, R>(self, predicate: F) -> (A, B) where
B: Default + Extend<R>,
A: Default + Extend<L>,
F: FnMut(Self::Item) -> Either<L, R>,
[src]
B: Default + Extend<R>,
A: Default + Extend<L>,
F: FnMut(Self::Item) -> Either<L, R>,
pub fn into_group_map<K, V>(self) -> HashMap<K, Vec<V, Global>, RandomState> where
Self: Iterator<Item = (K, V)>,
K: Hash + Eq,
[src]
Self: Iterator<Item = (K, V)>,
K: Hash + Eq,
pub fn into_group_map_by<K, V, F>(
self,
f: F
) -> HashMap<K, Vec<V, Global>, RandomState> where
Self: Iterator<Item = V>,
F: Fn(&V) -> K,
K: Hash + Eq,
[src]
self,
f: F
) -> HashMap<K, Vec<V, Global>, RandomState> where
Self: Iterator<Item = V>,
F: Fn(&V) -> K,
K: Hash + Eq,
pub fn into_grouping_map<K, V>(self) -> GroupingMap<Self> where
Self: Iterator<Item = (K, V)>,
K: Hash + Eq,
[src]
Self: Iterator<Item = (K, V)>,
K: Hash + Eq,
pub fn into_grouping_map_by<K, V, F>(
self,
key_mapper: F
) -> GroupingMap<MapForGrouping<Self, F>> where
Self: Iterator<Item = V>,
F: FnMut(&V) -> K,
K: Hash + Eq,
[src]
self,
key_mapper: F
) -> GroupingMap<MapForGrouping<Self, F>> where
Self: Iterator<Item = V>,
F: FnMut(&V) -> K,
K: Hash + Eq,
pub fn minmax(self) -> MinMaxResult<Self::Item> where
Self::Item: PartialOrd<Self::Item>,
[src]
Self::Item: PartialOrd<Self::Item>,
pub fn minmax_by_key<K, F>(self, key: F) -> MinMaxResult<Self::Item> where
F: FnMut(&Self::Item) -> K,
K: PartialOrd<K>,
[src]
F: FnMut(&Self::Item) -> K,
K: PartialOrd<K>,
pub fn minmax_by<F>(self, compare: F) -> MinMaxResult<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn position_max(self) -> Option<usize> where
Self::Item: Ord,
[src]
Self::Item: Ord,
pub fn position_max_by_key<K, F>(self, key: F) -> Option<usize> where
F: FnMut(&Self::Item) -> K,
K: Ord,
[src]
F: FnMut(&Self::Item) -> K,
K: Ord,
pub fn position_max_by<F>(self, compare: F) -> Option<usize> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn position_min(self) -> Option<usize> where
Self::Item: Ord,
[src]
Self::Item: Ord,
pub fn position_min_by_key<K, F>(self, key: F) -> Option<usize> where
F: FnMut(&Self::Item) -> K,
K: Ord,
[src]
F: FnMut(&Self::Item) -> K,
K: Ord,
pub fn position_min_by<F>(self, compare: F) -> Option<usize> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn position_minmax(self) -> MinMaxResult<usize> where
Self::Item: PartialOrd<Self::Item>,
[src]
Self::Item: PartialOrd<Self::Item>,
pub fn position_minmax_by_key<K, F>(self, key: F) -> MinMaxResult<usize> where
F: FnMut(&Self::Item) -> K,
K: PartialOrd<K>,
[src]
F: FnMut(&Self::Item) -> K,
K: PartialOrd<K>,
pub fn position_minmax_by<F>(self, compare: F) -> MinMaxResult<usize> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn exactly_one(self) -> Result<Self::Item, ExactlyOneError<Self>>
[src]
pub fn multipeek(self) -> MultiPeek<Self>ⓘ
[src]
pub fn counts(self) -> HashMap<Self::Item, usize, RandomState> where
Self::Item: Eq,
Self::Item: Hash,
[src]
Self::Item: Eq,
Self::Item: Hash,
impl<S, T> ProgressIterator for T where
T: Iterator<Item = S>,
T: Iterator<Item = S>,
pub fn progress_with(self, progress: ProgressBar) -> ProgressBarIter<T>ⓘ
pub fn progress(self) -> ProgressBarIter<Self>ⓘ
pub fn progress_count(self, len: u64) -> ProgressBarIter<Self>ⓘ
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<I> UnicodeNormalization<I> for I where
I: Iterator<Item = char>,
I: Iterator<Item = char>,
pub fn nfd(self) -> Decompositions<I>ⓘ
pub fn nfkd(self) -> Decompositions<I>ⓘ
pub fn nfc(self) -> Recompositions<I>ⓘ
pub fn nfkc(self) -> Recompositions<I>ⓘ
pub fn stream_safe(self) -> StreamSafe<I>ⓘ
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,