pub trait FallibleStreamingIterator {
    type Item: ?Sized;
    type Error;

Show 21 methods // Required methods fn advance(&mut self) -> Result<(), Self::Error>; fn get(&self) -> Option<&Self::Item>; // Provided methods fn next(&mut self) -> Result<Option<&Self::Item>, Self::Error> { ... } fn size_hint(&self) -> (usize, Option<usize>) { ... } fn all<F>(&mut self, f: F) -> Result<bool, Self::Error> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... } fn any<F>(&mut self, f: F) -> Result<bool, Self::Error> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... } fn by_ref(&mut self) -> &mut Self where Self: Sized { ... } fn count(self) -> Result<usize, Self::Error> where Self: Sized { ... } fn filter<F>(self, f: F) -> Filter<Self, F> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... } fn find<F>(&mut self, f: F) -> Result<Option<&Self::Item>, Self::Error> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... } fn for_each<F>(self, f: F) -> Result<(), Self::Error> where Self: Sized, F: FnMut(&Self::Item) { ... } fn fuse(self) -> Fuse<Self> where Self: Sized { ... } fn map<F, B>(self, f: F) -> Map<Self, F, B> where Self: Sized, F: FnMut(&Self::Item) -> B { ... } fn map_ref<F, B: ?Sized>(self, f: F) -> MapRef<Self, F> where Self: Sized, F: Fn(&Self::Item) -> &B { ... } fn map_err<F, B>(self, f: F) -> MapErr<Self, F> where Self: Sized, F: Fn(Self::Error) -> B { ... } fn nth(&mut self, n: usize) -> Result<Option<&Self::Item>, Self::Error> { ... } fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... } fn skip(self, n: usize) -> Skip<Self> where Self: Sized { ... } fn skip_while<F>(self, f: F) -> SkipWhile<Self, F> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... } fn take(self, n: usize) -> Take<Self> where Self: Sized { ... } fn take_while<F>(self, f: F) -> TakeWhile<Self, F> where Self: Sized, F: FnMut(&Self::Item) -> bool { ... }
}
Expand description

A fallible, streaming iterator.

Required Associated Types§

source

type Item: ?Sized

The type being iterated over.

source

type Error

The error type of iteration.

Required Methods§

source

fn advance(&mut self) -> Result<(), Self::Error>

Advances the iterator to the next position.

Iterators start just before the first item, so this method should be called before get when iterating.

The behavior of calling this method after get has returned None, or after this method has returned an error is unspecified.

source

fn get(&self) -> Option<&Self::Item>

Returns the current element.

The behavior of calling this method before any calls to advance is unspecified.

Provided Methods§

source

fn next(&mut self) -> Result<Option<&Self::Item>, Self::Error>

Advances the iterator, returning the next element.

The default implementation simply calls advance followed by get.

source

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

Returns bounds on the number of remaining elements in the iterator.

source

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

Determines if all elements of the iterator satisfy a predicate.

source

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

Determines if any elements of the iterator satisfy a predicate.

source

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

Borrows an iterator, rather than consuming it.

This is useful to allow the application of iterator adaptors while still retaining ownership of the original adaptor.

source

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

Returns the number of remaining elements in the iterator.

source

fn filter<F>(self, f: F) -> Filter<Self, F>where Self: Sized, F: FnMut(&Self::Item) -> bool,

Returns an iterator which filters elements by a predicate.

source

fn find<F>(&mut self, f: F) -> Result<Option<&Self::Item>, Self::Error>where Self: Sized, F: FnMut(&Self::Item) -> bool,

Returns the first element of the iterator which satisfies a predicate.

source

fn for_each<F>(self, f: F) -> Result<(), Self::Error>where Self: Sized, F: FnMut(&Self::Item),

Calls a closure on each element of an iterator.

source

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

Returns an iterator which is well-behaved at the beginning and end of iteration.

source

fn map<F, B>(self, f: F) -> Map<Self, F, B>where Self: Sized, F: FnMut(&Self::Item) -> B,

Returns an iterator which applies a transform to elements.

source

fn map_ref<F, B: ?Sized>(self, f: F) -> MapRef<Self, F>where Self: Sized, F: Fn(&Self::Item) -> &B,

Returns an iterator which applies a transform to elements.

Unlike map, the the closure provided to this method returns a reference into the original value.

source

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

Returns an iterator that applies a transform to errors.

source

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

Returns the nth element of the iterator.

source

fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>where Self: Sized, F: FnMut(&Self::Item) -> bool,

Returns the position of the first element matching a predicate.

source

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

Returns an iterator which skips the first n elements.

source

fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>where Self: Sized, F: FnMut(&Self::Item) -> bool,

Returns an iterator which skips the first sequence of elements matching a predicate.

source

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

Returns an iterator which only returns the first n elements.

source

fn take_while<F>(self, f: F) -> TakeWhile<Self, F>where Self: Sized, F: FnMut(&Self::Item) -> bool,

Returns an iterator which only returns the first sequence of elements matching a predicate.

Implementations on Foreign Types§

source§

impl<'a, I> FallibleStreamingIterator for &'a mut Iwhere I: FallibleStreamingIterator + ?Sized,

§

type Item = <I as FallibleStreamingIterator>::Item

§

type Error = <I as FallibleStreamingIterator>::Error

source§

fn advance(&mut self) -> Result<(), I::Error>

source§

fn get(&self) -> Option<&I::Item>

source§

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

source§

fn next(&mut self) -> Result<Option<&I::Item>, I::Error>

Implementors§

source§

impl<'a, I, T, E> FallibleStreamingIterator for Convert<'a, I, T>where I: Iterator<Item = Result<&'a T, E>>,

§

type Item = T

§

type Error = E

source§

impl<I> FallibleStreamingIterator for Fuse<I>where I: FallibleStreamingIterator,

source§

impl<I> FallibleStreamingIterator for Skip<I>where I: FallibleStreamingIterator,

source§

impl<I> FallibleStreamingIterator for Take<I>where I: FallibleStreamingIterator,

source§

impl<I, F> FallibleStreamingIterator for Filter<I, F>where I: FallibleStreamingIterator, F: FnMut(&I::Item) -> bool,

source§

impl<I, F> FallibleStreamingIterator for SkipWhile<I, F>where I: FallibleStreamingIterator, F: FnMut(&I::Item) -> bool,

source§

impl<I, F> FallibleStreamingIterator for TakeWhile<I, F>where I: FallibleStreamingIterator, F: FnMut(&I::Item) -> bool,

source§

impl<I, F, B> FallibleStreamingIterator for Map<I, F, B>where I: FallibleStreamingIterator, F: FnMut(&I::Item) -> B,

source§

impl<I, F, B> FallibleStreamingIterator for MapErr<I, F>where I: FallibleStreamingIterator, F: Fn(I::Error) -> B,

source§

impl<I, F, B: ?Sized> FallibleStreamingIterator for MapRef<I, F>where I: FallibleStreamingIterator, F: Fn(&I::Item) -> &B,

source§

impl<T, E> FallibleStreamingIterator for Empty<T, E>

§

type Item = T

§

type Error = E