Convert

Struct Convert 

Source
pub struct Convert<E, I> { /* private fields */ }
Expand description

A fallible lending iterator that wraps a normal lending iterator over Results.

Trait Implementations§

Source§

impl<E, I> FallibleLender for Convert<E, I>
where I: LenderResult<E>,

Source§

type Error = E

The error type.
Source§

fn next(&mut self) -> Result<Option<FallibleLend<'_, Self>>, E>

Yield the next lend, if any, of the lender. Returns Ok(None) when iteration is finished. The behavior of calling this method after a previous call has returned Ok(None) or Err is implementation defined. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Get the estimated minimum and maximum length of the lender. Both bounds assume that all remaining calls to next succeed. That is, next could return an Err in fewer calls than specified by the lower bound. Read more
Source§

fn next_chunk(&mut self, chunk_size: usize) -> Chunk<'_, Self>
where Self: Sized,

Take the next len lends of the lender with temporary lender Chunk. This is equivalent to cloning the lender and calling take(len) on it. Read more
Source§

fn count(self) -> Result<usize, Self::Error>
where Self: Sized,

Count the number of lends in the lender by consuming it until the lender yields Ok(None) or Err(_). Read more
Source§

fn last<'call>( &'call mut self, ) -> Result<Option<FallibleLend<'call, Self>>, Self::Error>
where Self: Sized,

Returns the last element of the iterator.
Source§

fn advance_by(&mut self, n: usize) -> Result<Option<NonZeroUsize>, Self::Error>

Advance the lender by n lends. If the lender does not have enough lends, return the number of lends left.
Source§

fn nth( &mut self, n: usize, ) -> Result<Option<FallibleLend<'_, Self>>, Self::Error>

Yield the nth lend of the lender, if any, by consuming it. If the lender does not have enough lends, returns None. Read more
Source§

fn step_by(self, step: usize) -> StepBy<Self>
where Self: Sized,

Skip step - 1 lends between each lend of the lender. Read more
Source§

fn chain<U>( self, other: U, ) -> Chain<Self, <U as IntoFallibleLender>::FallibleLender>
where Self: Sized, U: IntoFallibleLender + for<'all> FallibleLending<'all, Lend = FallibleLend<'all, Self>>,

Chain the lender with another lender of the same type. Read more
Source§

fn zip<U: IntoFallibleLender>( self, other: U, ) -> Zip<Self, <U as IntoFallibleLender>::FallibleLender>
where Self: Sized,

Zip the lender with another lender of the same or different type.
Source§

fn intersperse<'call>( self, separator: FallibleLend<'call, Self>, ) -> FallibleIntersperse<'call, Self>
where Self: Sized, for<'all> FallibleLend<'all, Self>: Clone,

Intersperse each lend of this lender with the given seperator.
Source§

fn intersperse_with<'call, G>( self, separator: G, ) -> FallibleIntersperseWith<'call, Self, G>
where Self: Sized, G: FnMut() -> Result<FallibleLend<'call, Self>, Self::Error>,

Intersperse each lend of this lender with the seperator produced by the given function.
Source§

fn map<F>(self, f: F) -> Map<Self, F>
where Self: Sized, F: for<'all> FnMutHKARes<'all, FallibleLend<'all, Self>, Self::Error>,

Map each lend of this lender using the given function. Read more
Source§

fn map_err<E, F>(self, f: F) -> MapErr<E, Self, F>
where Self: Sized, F: FnMut(Self::Error) -> E,

Map the error of this lender using the given function.
Source§

fn map_into_iter<O, F>(self, f: F) -> MapIntoIter<Self, O, F>
where Self: Sized, F: FnMut(FallibleLend<'_, Self>) -> Result<O, Self::Error>,

Map each lend of this lender into an owned value using the given function. Read more
Source§

fn for_each<F>(self, f: F) -> Result<(), Self::Error>
where Self: Sized, F: FnMut(FallibleLend<'_, Self>) -> Result<(), Self::Error>,

Call the given function with each lend of this lender.
Source§

fn filter<P>(self, predicate: P) -> Filter<Self, P>
where Self: Sized, P: FnMut(&FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Filter this lender using the given predicate.
Source§

fn filter_map<F>(self, f: F) -> FilterMap<Self, F>
where Self: Sized, F: for<'all> FnMutHKAResOpt<'all, FallibleLend<'all, Self>, Self::Error>,

Filter and map this lender using the given function.
Source§

fn enumerate(self) -> Enumerate<Self>
where Self: Sized,

Enumerate this lender. Each lend is paired with its zero-based index.
Source§

fn peekable<'call>(self) -> FalliblePeekable<'call, Self>
where Self: Sized,

Make this lender peekable, so that it is possible to peek at the next lend without consuming it.
Source§

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
where Self: Sized, P: FnMut(&FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Skip the first contiguous sequence lends of this lender that satisfy the given predicate.
Source§

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
where Self: Sized, P: FnMut(&FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Take the first contiguous sequence lends of this lender that satisfy the given predicate.
Source§

fn map_while<P>(self, predicate: P) -> MapWhile<Self, P>
where Self: Sized, P: for<'all> FnMutHKAResOpt<'all, FallibleLend<'all, Self>, Self::Error>,

Map this lender using the given function while it returns Some.
Source§

fn skip(self, n: usize) -> Skip<Self>
where Self: Sized,

Skip the first n lends of this lender.
Source§

fn take(self, n: usize) -> Take<Self>
where Self: Sized,

Take the first n lends of this lender.
Source§

fn scan<St, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
where Self: Sized, F: for<'all> FnMutHKAResOpt<'all, (&'all mut St, FallibleLend<'all, Self>), Self::Error>,

Documentation is incomplete. Refer to Iterator::scan for more information.
Source§

fn flat_map<'call, F>(self, f: F) -> FallibleFlatMap<'call, Self, F>
where Self: Sized, F: for<'all> FnMutHKARes<'all, FallibleLend<'all, Self>, Self::Error>, for<'all> <F as FnMutHKARes<'all, FallibleLend<'all, Self>, Self::Error>>::B: IntoFallibleLender<Error = Self::Error>,

Documentation is incomplete. Refer to Iterator::flat_map for more information
Source§

fn flatten<'call>(self) -> FallibleFlatten<'call, Self>
where Self: Sized, for<'all> FallibleLend<'all, Self>: IntoFallibleLender<Error = Self::Error>,

Documentation is incomplete. Refer to Iterator::flatten for more information
Source§

fn fuse(self) -> Fuse<Self>
where Self: Sized,

Documentation is incomplete. Refer to Iterator::fuse for more information
Source§

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where Self: Sized, F: FnMut(&FallibleLend<'_, Self>) -> Result<(), Self::Error>,

Documentation is incomplete. Refer to Iterator::inspect for more information Read more
Source§

fn mutate<F>(self, f: F) -> Mutate<Self, F>
where Self: Sized, F: FnMut(&mut FallibleLend<'_, Self>) -> Result<(), Self::Error>,

Mutate each lend with the given function.
Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Documentation is incomplete. Refer to Iterator::by_ref for more information
Source§

fn collect<B>(self) -> Result<B, (B, Self::Error)>
where Self: Sized, for<'all> B: FromLender<NonFallibleAdapter<'all, Self>>,

Transforms the iterator into a collection. If any invocation of next returns Err, returns the collection built from values yielded successfully, together with the error.
Source§

fn try_collect<'a, B, T>(&'a mut self) -> Result<T, (T, Self::Error)>
where Self: Sized, for<'all> FallibleLend<'all, Self>: Try, for<'all> <FallibleLend<'all, Self> as Try>::Residual: Residual<B, TryType = T>, for<'b, 'c, 'd> B: FromLender<FallibleTryShuntAdapter<'b, 'c, 'd, 'a, Self>>,

Transforms the iterator into a collection. If any invocation of next returns Err, returns the collection built from values yielded successfully, together with the error.
Source§

fn collect_into<E>( self, collection: &mut E, ) -> Result<&mut E, (&mut E, Self::Error)>
where Self: Sized, for<'all> E: ExtendLender<NonFallibleAdapter<'all, Self>>,

Transforms the iterator into a collection. If any invocation of next returns Err, returns the collection built from values yielded successfully, together with the error.
Source§

fn partition<'this, A, E, F>(self, f: F) -> Result<(E, E), Self::Error>
where Self: Sized + 'this, E: Default + ExtendLender<NonFallibleAdapter<'this, Self>>, F: FnMut(&FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::partition for more information
Source§

fn is_partitioned<P>(self, predicate: P) -> Result<bool, Self::Error>
where Self: Sized, P: FnMut(FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::is_partitioned for more information
Source§

fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Result<R, Self::Error>
where F: FnMut(B, FallibleLend<'_, Self>) -> Result<R, Self::Error>, R: Try<Output = B>,

Documentation is incomplete. Refer to Iterator::try_fold for more information
Source§

fn try_for_each<F, R>(&mut self, f: F) -> Result<R, Self::Error>
where Self: Sized, F: FnMut(FallibleLend<'_, Self>) -> Result<R, Self::Error>, R: Try<Output = ()>,

Documentation is incomplete. Refer to Iterator::try_for_each for more information
Source§

fn fold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
where Self: Sized, F: FnMut(B, FallibleLend<'_, Self>) -> Result<B, Self::Error>,

Documentation is incomplete. Refer to Iterator::fold for more information Read more
Source§

fn reduce<T, F>(self, f: F) -> Result<Option<T>, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(T, FallibleLend<'_, Self>) -> Result<T, Self::Error>,

Documentation is incomplete. Refer to Iterator::reduce for more information
Source§

fn try_reduce<T, F, R>( self, f: F, ) -> Result<ChangeOutputType<R, Option<T>>, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(T, FallibleLend<'_, Self>) -> Result<R, Self::Error>, R: Try<Output = T>, R::Residual: Residual<Option<T>>,

Documentation is incomplete. Refer to Iterator::try_reduce for more information
Source§

fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
where Self: Sized, F: FnMut(FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::all for more information Read more
Source§

fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
where Self: Sized, F: FnMut(FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::any for more information Read more
Source§

fn find<P>( &mut self, predicate: P, ) -> Result<Option<FallibleLend<'_, Self>>, Self::Error>
where P: FnMut(&FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::find for more information Read more
Source§

fn find_map<'a, F>( &'a mut self, f: F, ) -> Result<Option<<F as FnMutHKAResOpt<'a, FallibleLend<'a, Self>, Self::Error>>::B>, Self::Error>
where Self: Sized, F: for<'all> FnMutHKAResOpt<'all, FallibleLend<'all, Self>, Self::Error>,

Documentation is incomplete. Refer to Iterator::find_map for more information
Source§

fn try_find<F, R>( &mut self, f: F, ) -> Result<ChangeOutputType<R, Option<FallibleLend<'_, Self>>>, Self::Error>
where Self: Sized, F: FnMut(&FallibleLend<'_, Self>) -> Result<R, Self::Error>, R: Try<Output = bool>, for<'all> R::Residual: Residual<Option<FallibleLend<'all, Self>>>,

Documentation is incomplete. Refer to Iterator::try_find for more information
Source§

fn position<P>(&mut self, predicate: P) -> Result<Option<usize>, Self::Error>
where Self: Sized, P: FnMut(FallibleLend<'_, Self>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::position for more information Read more
Source§

fn max<T>(self) -> Result<Option<T>, Self::Error>
where Self: Sized, T: for<'all> PartialOrd<FallibleLend<'all, Self>>, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>,

Documentation is incomplete. Refer to Iterator::max for more information
Source§

fn min<T>(self) -> Result<Option<T>, Self::Error>
where Self: Sized, T: for<'all> PartialOrd<FallibleLend<'all, Self>>, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>,

Documentation is incomplete. Refer to Iterator::min for more information
Source§

fn max_by_key<B: Ord, T, F>(self, f: F) -> Result<Option<T>, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(&T) -> Result<B, Self::Error>,

Documentation is incomplete. Refer to Iterator::max_by_key for more information
Source§

fn max_by<T, F>(self, compare: F) -> Result<Option<T>, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(&T, &FallibleLend<'_, Self>) -> Result<Ordering, Self::Error>,

Documentation is incomplete. Refer to Iterator::max_by for more information
Source§

fn min_by_key<B: Ord, T, F>(self, f: F) -> Result<Option<T>, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(&T) -> Result<B, Self::Error>,

Documentation is incomplete. Refer to Iterator::min_by_key for more information
Source§

fn min_by<T, F>(self, compare: F) -> Result<Option<T>, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(&T, &FallibleLend<'_, Self>) -> Result<Ordering, Self::Error>,

Documentation is incomplete. Refer to Iterator::min_by for more information
Source§

fn unzip<ExtA, ExtB>(self) -> Result<(ExtA, ExtB), Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: TupleLend<'all>, ExtA: Default + for<'this> ExtendLender<NonFallibleAdapter<'this, <FirstShunt<Self> as IntoFallibleLender>::FallibleLender>>, ExtB: Default + for<'this> ExtendLender<NonFallibleAdapter<'this, <SecondShunt<Self> as IntoFallibleLender>::FallibleLender>>,

Documentation is incomplete. Refer to Iterator::unzip for more information
Source§

fn copied<T>(self) -> Copied<Self>
where Self: Sized + for<'all> FallibleLending<'all, Lend = &'all T>, T: Copy,

Documentation is incomplete. Refer to Iterator::copied for more information. Read more
Source§

fn cloned<T>(self) -> Cloned<Self>
where Self: Sized + for<'all> FallibleLending<'all, Lend = &'all T>, T: Clone,

Documentation is incomplete. Refer to Iterator::cloned for more information. Read more
Source§

fn owned(self) -> Owned<Self>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned,

Turn this FallibleLender into a FallibleIterator.
Source§

fn sum<S>(self) -> Result<S, Self::Error>
where Self: Sized, S: SumFallibleLender<Self>,

Documentation is incomplete. Refer to Iterator::sum for more information
Source§

fn product<P>(self) -> Result<P, Self::Error>
where Self: Sized, P: ProductFallibleLender<Self>,

Documentation is incomplete. Refer to Iterator::product for more information
Source§

fn cmp<L>(self, other: L) -> Result<Ordering, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, L::FallibleLender: for<'all> FallibleLending<'all, Lend = FallibleLend<'all, Self>>, for<'all> FallibleLend<'all, Self>: Ord, Self: Sized,

Documentation is incomplete. Refer to Iterator::cmp for more information
Source§

fn cmp_by<L, F>(self, other: L, cmp: F) -> Result<Ordering, Self::Error>
where Self: Sized, L: IntoFallibleLender<Error = Self::Error>, F: for<'all> FnMut(FallibleLend<'all, Self>, FallibleLend<'all, L::FallibleLender>) -> Result<Ordering, Self::Error>,

Documentation is incomplete. Refer to Iterator::cmp_by for more information
Source§

fn partial_cmp<L>(self, other: L) -> Result<Option<Ordering>, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialOrd<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::partial_cmp for more information
Source§

fn partial_cmp_by<L, F>( self, other: L, partial_cmp: F, ) -> Result<Option<Ordering>, Self::Error>
where Self: Sized, L: IntoFallibleLender<Error = Self::Error>, F: for<'all> FnMut(FallibleLend<'all, Self>, FallibleLend<'all, L::FallibleLender>) -> Result<Option<Ordering>, Self::Error>,

Documentation is incomplete. Refer to Iterator::partial_cmp_by for more information
Source§

fn eq<L>(self, other: L) -> Result<bool, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialEq<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::eq for more information
Source§

fn eq_by<L, F>(self, other: L, eq: F) -> Result<bool, Self::Error>
where Self: Sized, L: IntoFallibleLender<Error = Self::Error>, F: for<'all> FnMut(FallibleLend<'all, Self>, FallibleLend<'all, L::FallibleLender>) -> Result<bool, Self::Error>,

Documentation is incomplete. Refer to Iterator::eq_by for more information
Source§

fn ne<L>(self, other: L) -> Result<bool, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialEq<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::ne for more information
Source§

fn lt<L>(self, other: L) -> Result<bool, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialOrd<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::lt for more information
Source§

fn le<L>(self, other: L) -> Result<bool, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialOrd<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::le for more information
Source§

fn gt<L>(self, other: L) -> Result<bool, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialOrd<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::gt for more information
Source§

fn ge<L>(self, other: L) -> Result<bool, Self::Error>
where L: IntoFallibleLender<Error = Self::Error>, for<'all> FallibleLend<'all, Self>: PartialOrd<FallibleLend<'all, L::FallibleLender>>, Self: Sized,

Documentation is incomplete. Refer to Iterator::ge for more information
Source§

fn is_sorted<T>(self) -> Result<bool, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, T: PartialOrd,

Documentation is incomplete. Refer to Iterator::is_sorted for more information
Source§

fn is_sorted_by<T, F>(self, compare: F) -> Result<bool, Self::Error>
where Self: Sized, for<'all> FallibleLend<'all, Self>: ToOwned<Owned = T>, F: FnMut(&T, &T) -> Result<Option<Ordering>, Self::Error>,

Documentation is incomplete. Refer to Iterator::is_sorted_by for more information
Source§

fn is_sorted_by_key<F, K>(self, f: F) -> Result<bool, Self::Error>
where Self: Sized, F: FnMut(FallibleLend<'_, Self>) -> Result<K, Self::Error>, K: PartialOrd,

Documentation is incomplete. Refer to Iterator::is_sorted_by_key for more information
Source§

fn iter<'this>(self) -> Iter<'this, Self>
where Self: Sized + 'this, for<'all> FallibleLend<'all, Self>: 'this,

Turn this lender into a FallibleIterator where it has already fulfilled the requirements of the FallibleIterator trait.
Source§

impl<'lend, E, I> FallibleLending<'lend> for Convert<E, I>
where I: LendingResult<'lend, E>,

Source§

type Lend = <<I as Lending<'lend>>::Lend as Try>::Output

The type being lent.

Auto Trait Implementations§

§

impl<E, I> Freeze for Convert<E, I>
where I: Freeze,

§

impl<E, I> RefUnwindSafe for Convert<E, I>

§

impl<E, I> Send for Convert<E, I>
where I: Send, E: Send,

§

impl<E, I> Sync for Convert<E, I>
where I: Sync, E: Sync,

§

impl<E, I> Unpin for Convert<E, I>
where I: Unpin, E: Unpin,

§

impl<E, I> UnwindSafe for Convert<E, I>
where I: UnwindSafe, E: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<L> IntoFallibleLender for L
where L: FallibleLender,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.