pub struct Range<Idx> {
pub start: Idx,
pub end: Idx,
}
Expand description
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
sourceimpl<Idx> Range<Idx> where
Idx: PartialOrd<Idx>,
impl<Idx> Range<Idx> where
Idx: PartialOrd<Idx>,
1.35.0 · sourcepub fn contains<U>(&self, item: &U) -> bool where
Idx: PartialOrd<U>,
U: PartialOrd<Idx> + ?Sized,
pub fn contains<U>(&self, item: &U) -> bool where
Idx: PartialOrd<U>,
U: PartialOrd<Idx> + ?Sized,
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));
1.47.0 · sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
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
sourceimpl<'a, T, O> BitSliceIndex<'a, T, O> for Range<usize> where
O: BitOrder,
T: BitStore,
impl<'a, T, O> BitSliceIndex<'a, T, O> for Range<usize> where
O: BitOrder,
T: BitStore,
sourcefn get(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Immut
) -> Option<<Range<usize> as BitSliceIndex<'a, T, O>>::Immut>
fn get(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Immut
) -> Option<<Range<usize> as BitSliceIndex<'a, T, O>>::Immut>
Immutably indexes into a bit-slice, returning None
if self
is out of
bounds. Read more
sourcefn get_mut(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Mut
) -> Option<<Range<usize> as BitSliceIndex<'a, T, O>>::Mut>
fn get_mut(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Mut
) -> Option<<Range<usize> as BitSliceIndex<'a, T, O>>::Mut>
Mutably indexes into a bit-slice, returning None
if self
is out of
bounds. Read more
sourceunsafe fn get_unchecked(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Immut
) -> <Range<usize> as BitSliceIndex<'a, T, O>>::ImmutⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
unsafe fn get_unchecked(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Immut
) -> <Range<usize> as BitSliceIndex<'a, T, O>>::ImmutⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
A: Step, type Item = A;
Immutably indexes into a bit-slice without doing any bounds checking. Read more
sourceunsafe fn get_unchecked_mut(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Mut
) -> <Range<usize> as BitSliceIndex<'a, T, O>>::MutⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
unsafe fn get_unchecked_mut(
self,
bits: <Range<usize> as BitSliceIndex<'a, T, O>>::Mut
) -> <Range<usize> as BitSliceIndex<'a, T, O>>::MutⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
A: Step, type Item = A;
Mutably indexes into a bit-slice without doing any bounds checking. Read more
sourceimpl<T> Decode for Range<T> where
T: Decode,
impl<T> Decode for Range<T> where
T: Decode,
sourcefn decode<I>(input: &mut I) -> Result<Range<T>, Error> where
I: Input,
fn decode<I>(input: &mut I) -> Result<Range<T>, Error> where
I: Input,
Attempt to deserialise the value from input.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<'de, Idx> Deserialize<'de> for Range<Idx> where
Idx: Deserialize<'de>,
impl<'de, Idx> Deserialize<'de> for Range<Idx> where
Idx: Deserialize<'de>,
sourcefn deserialize<D>(
deserializer: D
) -> Result<Range<Idx>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<Range<Idx>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<A> DoubleEndedIterator for Range<A> where
A: Step,
impl<A> DoubleEndedIterator for Range<A> where
A: Step,
sourcefn next_back(&mut self) -> Option<A>
fn next_back(&mut self) -> Option<A>
Removes and returns an element from the end of the iterator. Read more
sourcefn nth_back(&mut self, n: usize) -> Option<A>
fn nth_back(&mut self, n: usize) -> Option<A>
Returns the n
th element from the end of the iterator. Read more
sourcefn advance_back_by(&mut self, n: usize) -> Result<(), usize>
fn advance_back_by(&mut self, n: usize) -> Result<(), usize>
iter_advance_by
)Advances the iterator from the back by n
elements. Read more
1.27.0 · sourcefn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R where
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R where
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. Read more
sourceimpl<T> Encode for Range<T> where
T: Encode,
impl<T> Encode for Range<T> where
T: Encode,
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn encode_to<T>(&self, dest: &mut T) where
T: Output + ?Sized,
fn encode_to<T>(&self, dest: &mut T) where
T: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl ExactSizeIterator for Range<i8>
impl ExactSizeIterator for Range<i8>
sourceimpl ExactSizeIterator for Range<isize>
impl ExactSizeIterator for Range<isize>
sourceimpl ExactSizeIterator for Range<u32>
impl ExactSizeIterator for Range<u32>
sourceimpl ExactSizeIterator for Range<u8>
impl ExactSizeIterator for Range<u8>
sourceimpl ExactSizeIterator for Range<i32>
impl ExactSizeIterator for Range<i32>
sourceimpl ExactSizeIterator for Range<usize>
impl ExactSizeIterator for Range<usize>
sourceimpl ExactSizeIterator for Range<i16>
impl ExactSizeIterator for Range<i16>
sourceimpl ExactSizeIterator for Range<u16>
impl ExactSizeIterator for Range<u16>
sourceimpl<M, T, O> From<BitPtrRange<M, T, O>> for Range<BitPtr<M, T, O>> where
M: Mutability,
T: BitStore,
O: BitOrder,
impl<M, T, O> From<BitPtrRange<M, T, O>> for Range<BitPtr<M, T, O>> where
M: Mutability,
T: BitStore,
O: BitOrder,
sourceimpl<T, O> Index<Range<usize>> for BitSlice<T, O> where
O: BitOrder,
T: BitStore,
impl<T, O> Index<Range<usize>> for BitSlice<T, O> where
O: BitOrder,
T: BitStore,
sourcefn index(
&self,
index: Range<usize>
) -> &<BitSlice<T, O> as Index<Range<usize>>>::OutputⓘNotable traits for &'_ mut BitSlice<T, O>impl<'_, T, O> Write for &'_ mut BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField, impl<'_, T, O> Read for &'_ BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField,
fn index(
&self,
index: Range<usize>
) -> &<BitSlice<T, O> as Index<Range<usize>>>::OutputⓘNotable traits for &'_ mut BitSlice<T, O>impl<'_, T, O> Write for &'_ mut BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField, impl<'_, T, O> Read for &'_ BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField,
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField, impl<'_, T, O> Read for &'_ BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField,
Performs the indexing (container[index]
) operation. Read more
sourceimpl<T, O> IndexMut<Range<usize>> for BitSlice<T, O> where
O: BitOrder,
T: BitStore,
impl<T, O> IndexMut<Range<usize>> for BitSlice<T, O> where
O: BitOrder,
T: BitStore,
sourcefn index_mut(
&mut self,
index: Range<usize>
) -> &mut <BitSlice<T, O> as Index<Range<usize>>>::OutputⓘNotable traits for &'_ mut BitSlice<T, O>impl<'_, T, O> Write for &'_ mut BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField, impl<'_, T, O> Read for &'_ BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField,
fn index_mut(
&mut self,
index: Range<usize>
) -> &mut <BitSlice<T, O> as Index<Range<usize>>>::OutputⓘNotable traits for &'_ mut BitSlice<T, O>impl<'_, T, O> Write for &'_ mut BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField, impl<'_, T, O> Read for &'_ BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField,
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField, impl<'_, T, O> Read for &'_ BitSlice<T, O> where
T: BitStore,
O: BitOrder,
BitSlice<T, O>: BitField,
Performs the mutable indexing (container[index]
) operation. Read more
sourceimpl<A> Iterator for Range<A> where
A: Step,
impl<A> Iterator for Range<A> where
A: Step,
type Item = A
type Item = A
The type of the elements being iterated over.
sourcefn 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
sourcefn is_sorted(self) -> bool
fn is_sorted(self) -> bool
is_sorted
)Checks if the elements of this iterator are sorted. Read more
sourcefn advance_by(&mut self, n: usize) -> Result<(), usize>
fn advance_by(&mut self, n: usize) -> Result<(), usize>
iter_advance_by
)Advances the iterator by n
elements. Read more
sourcefn count(self) -> usize
fn count(self) -> usize
Consumes the iterator, counting the number of iterations and returning it. Read more
1.28.0 · sourcefn step_by(self, step: usize) -> StepBy<Self>
fn step_by(self, step: usize) -> StepBy<Self>
Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
sourcefn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator<Item = Self::Item>,
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator<Item = Self::Item>,
Takes two iterators and creates a new iterator over both in sequence. Read more
sourcefn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator,
‘Zips up’ two iterators into a single iterator of pairs. Read more
sourcefn intersperse(self, separator: Self::Item) -> Intersperse<Self> where
Self::Item: Clone,
fn intersperse(self, separator: Self::Item) -> Intersperse<Self> where
Self::Item: Clone,
iter_intersperse
)Creates a new iterator which places a copy of separator
between adjacent
items of the original iterator. Read more
sourcefn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> where
G: FnMut() -> Self::Item,
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> where
G: FnMut() -> Self::Item,
iter_intersperse
)Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more
sourcefn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B,
fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B,
Takes a closure and creates an iterator which calls that closure on each element. Read more
1.21.0 · sourcefn 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
sourcefn filter<P>(self, predicate: P) -> Filter<Self, P> where
P: FnMut(&Self::Item) -> bool,
fn filter<P>(self, predicate: P) -> Filter<Self, P> where
P: FnMut(&Self::Item) -> bool,
Creates an iterator which uses a closure to determine if an element should be yielded. Read more
sourcefn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<B>,
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<B>,
Creates an iterator that both filters and maps. Read more
sourcefn enumerate(self) -> Enumerate<Self>
fn enumerate(self) -> Enumerate<Self>
Creates an iterator which gives the current iteration count as well as the next value. Read more
sourcefn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where
P: FnMut(&Self::Item) -> bool,
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where
P: FnMut(&Self::Item) -> bool,
sourcefn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where
P: FnMut(&Self::Item) -> bool,
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where
P: FnMut(&Self::Item) -> bool,
Creates an iterator that yields elements based on a predicate. Read more
1.57.0 · sourcefn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> where
P: FnMut(Self::Item) -> Option<B>,
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> where
P: FnMut(Self::Item) -> Option<B>,
Creates an iterator that both yields elements based on a predicate and maps. Read more
sourcefn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
Creates an iterator that skips the first n
elements. Read more
sourcefn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
Creates an iterator that yields the first n
elements, or fewer
if the underlying iterator ends sooner. Read more
sourcefn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where
F: FnMut(&mut St, Self::Item) -> Option<B>,
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where
F: FnMut(&mut St, Self::Item) -> Option<B>,
sourcefn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where
U: IntoIterator,
F: FnMut(Self::Item) -> U,
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where
U: IntoIterator,
F: FnMut(Self::Item) -> U,
Creates an iterator that works like map, but flattens nested structure. Read more
1.29.0 · sourcefn flatten(self) -> Flatten<Self> where
Self::Item: IntoIterator,
fn flatten(self) -> Flatten<Self> where
Self::Item: IntoIterator,
Creates an iterator that flattens nested structure. Read more
sourcefn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
Does something with each element of an iterator, passing the value on. Read more
sourcefn 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
sourcefn 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>,
iterator_try_collect
)Fallibly transforms an iterator into a collection, short circuiting if a failure is encountered. Read more
sourcefn 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>,
iter_collect_into
)Collects all the items from an iterator into a collection. Read more
sourcefn 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
sourcefn 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,
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. Read more
sourcefn 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,
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
. Read more
1.27.0 · sourcefn try_fold<B, F, R>(&mut self, init: B, f: F) -> R where
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R where
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. Read more
1.27.0 · sourcefn 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
sourcefn fold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
fn fold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
Folds every element into an accumulator by applying an operation, returning the final result. Read more
1.51.0 · sourcefn 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
sourcefn 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>>,
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. Read more
sourcefn 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
sourcefn 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
sourcefn 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 · sourcefn 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
sourcefn 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>>,
try_find
)Applies function to the elements of iterator and returns the first true result or the first error. Read more
sourcefn 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
sourcefn 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
1.6.0 · sourcefn 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 · sourcefn 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 · sourcefn 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 · sourcefn 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
sourcefn rev(self) -> Rev<Self> where
Self: DoubleEndedIterator,
fn rev(self) -> Rev<Self> where
Self: DoubleEndedIterator,
Reverses an iterator’s direction. Read more
sourcefn 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 · sourcefn copied<'a, T>(self) -> Copied<Self> where
T: 'a + Copy,
Self: Iterator<Item = &'a T>,
fn copied<'a, T>(self) -> Copied<Self> where
T: 'a + Copy,
Self: Iterator<Item = &'a T>,
Creates an iterator which copies all of its elements. Read more
1.11.0 · sourcefn 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 · sourcefn 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 · sourcefn 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
sourcefn 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,
iter_order_by
)Lexicographically compares the elements of this Iterator
with those
of another with respect to the specified comparison function. Read more
1.5.0 · sourcefn 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
sourcefn 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>,
iter_order_by
)Lexicographically compares the elements of this Iterator
with those
of another with respect to the specified comparison function. Read more
1.5.0 · sourcefn 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>,
sourcefn 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,
iter_order_by
)1.5.0 · sourcefn 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 · sourcefn 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 · sourcefn 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 · sourcefn 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 · sourcefn 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
sourcefn 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>,
is_sorted
)Checks if the elements of this iterator are sorted using the given comparator function. Read more
sourcefn 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>,
is_sorted
)Checks if the elements of this iterator are sorted using the given key extraction function. Read more
1.28.0 · sourceimpl<T> RangeBounds<T> for Range<T>
impl<T> RangeBounds<T> for Range<T>
1.28.0 · sourceimpl<'_, T> RangeBounds<T> for Range<&'_ T>
impl<'_, T> RangeBounds<T> for Range<&'_ T>
sourceimpl<Idx> Serialize for Range<Idx> where
Idx: Serialize,
impl<Idx> Serialize for Range<Idx> where
Idx: Serialize,
sourcefn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
1.15.0 (const: unstable) · sourceimpl<T> SliceIndex<[T]> for Range<usize>
impl<T> SliceIndex<[T]> for Range<usize>
const: unstable · sourcefn get(self, slice: &[T]) -> Option<&[T]>
fn get(self, slice: &[T]) -> Option<&[T]>
slice_index_methods
)Returns a shared reference to the output at this location, if in bounds. Read more
const: unstable · sourcefn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
slice_index_methods
)Returns a mutable reference to the output at this location, if in bounds. Read more
const: unstable · sourceunsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
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
const: unstable · sourceunsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
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
const: unstable · sourcefn index(self, slice: &[T]) -> &[T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
fn index(self, slice: &[T]) -> &[T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
slice_index_methods
)Returns a shared reference to the output at this location, panicking if out of bounds. Read more
const: unstable · sourcefn index_mut(self, slice: &mut [T]) -> &mut [T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
fn index_mut(self, slice: &mut [T]) -> &mut [T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
slice_index_methods
)Returns a mutable reference to the output at this location, panicking if out of bounds. Read more
1.20.0 (const: unstable) · sourceimpl SliceIndex<str> for Range<usize>
impl SliceIndex<str> for Range<usize>
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];
const: unstable · sourcefn get(self, slice: &str) -> Option<&<Range<usize> as SliceIndex<str>>::Output>
fn get(self, slice: &str) -> Option<&<Range<usize> as SliceIndex<str>>::Output>
slice_index_methods
)Returns a shared reference to the output at this location, if in bounds. Read more
const: unstable · sourcefn get_mut(
self,
slice: &mut str
) -> Option<&mut <Range<usize> as SliceIndex<str>>::Output>
fn get_mut(
self,
slice: &mut str
) -> Option<&mut <Range<usize> as SliceIndex<str>>::Output>
slice_index_methods
)Returns a mutable reference to the output at this location, if in bounds. Read more
const: unstable · sourceunsafe fn get_unchecked(
self,
slice: *const str
) -> *const <Range<usize> as SliceIndex<str>>::Output
unsafe fn get_unchecked(
self,
slice: *const str
) -> *const <Range<usize> as SliceIndex<str>>::Output
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
const: unstable · sourceunsafe fn get_unchecked_mut(
self,
slice: *mut str
) -> *mut <Range<usize> as SliceIndex<str>>::Output
unsafe fn get_unchecked_mut(
self,
slice: *mut str
) -> *mut <Range<usize> as SliceIndex<str>>::Output
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
const: unstable · sourcefn index(self, slice: &str) -> &<Range<usize> as SliceIndex<str>>::OutputⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
fn index(self, slice: &str) -> &<Range<usize> as SliceIndex<str>>::OutputⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
A: Step, type Item = A;
slice_index_methods
)Returns a shared reference to the output at this location, panicking if out of bounds. Read more
const: unstable · sourcefn index_mut(
self,
slice: &mut str
) -> &mut <Range<usize> as SliceIndex<str>>::OutputⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
fn index_mut(
self,
slice: &mut str
) -> &mut <Range<usize> as SliceIndex<str>>::OutputⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
A: Step, type Item = A;
slice_index_methods
)Returns a mutable reference to the output at this location, panicking if out of bounds. Read more
impl<Idx> Eq for Range<Idx> where
Idx: Eq,
impl<A> FusedIterator for Range<A> where
A: Step,
impl<Idx> StructuralEq for Range<Idx>
impl<Idx> StructuralPartialEq for Range<Idx>
impl<A> TrustedLen for Range<A> where
A: TrustedStep,
Auto Trait Implementations
impl<Idx> RefUnwindSafe for Range<Idx> where
Idx: RefUnwindSafe,
impl<Idx> Send for Range<Idx> where
Idx: Send,
impl<Idx> Sync for Range<Idx> where
Idx: Sync,
impl<Idx> Unpin for Range<Idx> where
Idx: Unpin,
impl<Idx> UnwindSafe for Range<Idx> where
Idx: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Causes self
to use its Binary
implementation when Debug
-formatted. Read more
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Causes self
to use its Octal
implementation when Debug
-formatted. Read more
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
fn fmt_list(self) -> FmtList<Self> where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self> where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
sourceimpl<I> IntoIterator for I where
I: Iterator,
impl<I> IntoIterator for I where
I: Iterator,
impl<T> Pipe for T where
T: ?Sized,
impl<T> Pipe for T where
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
Borrows self
and passes that borrow into the pipe function. Read more
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
Mutably borrows self
and passes that borrow into the pipe function. Read more
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Borrows self
, then passes self.borrow()
into the pipe function. Read more
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows self
, then passes self.as_ref()
into the pipe function.
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows self
, then passes self.deref()
into the pipe function.
impl<R> RangeExt<usize> for R where
R: RangeBounds<usize>,
impl<R> RangeExt<usize> for R where
R: RangeBounds<usize>,
fn normalize(
self,
start: impl Into<Option<usize>>,
end: impl Into<Option<usize>>
) -> Range<usize>ⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
fn normalize(
self,
start: impl Into<Option<usize>>,
end: impl Into<Option<usize>>
) -> Range<usize>ⓘNotable traits for Range<A>impl<A> Iterator for Range<A> where
A: Step, type Item = A;
A: Step, type Item = A;
Normalizes a range-like type to a canonical half-open Range
. Read more
impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Immutable access to the Borrow<B>
of a value. Read more
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the BorrowMut<B>
of a value. Read more
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Immutable access to the AsRef<R>
view of a value. Read more
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Mutable access to the AsMut<R>
view of a value. Read more
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the Deref::Target
of a value. Read more
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the Deref::Target
of a value. Read more
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls .tap()
only in debug builds, and is erased in release builds.
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more