Trait eccodes::FallibleStreamingIterator
source · 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>(self, f: F) -> MapRef<Self, F>
where Self: Sized,
F: Fn(&Self::Item) -> &B,
B: ?Sized { ... }
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§
Required Methods§
sourcefn advance(&mut self) -> Result<(), Self::Error>
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.
Provided Methods§
sourcefn next(&mut self) -> Result<Option<&Self::Item>, Self::Error>
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
.
sourcefn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Returns bounds on the number of remaining elements in the iterator.
sourcefn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
Determines if all elements of the iterator satisfy a predicate.
sourcefn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
Determines if any elements of the iterator satisfy a predicate.
sourcefn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
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.
sourcefn count(self) -> Result<usize, Self::Error>where
Self: Sized,
fn count(self) -> Result<usize, Self::Error>where
Self: Sized,
Returns the number of remaining elements in the iterator.
sourcefn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Returns an iterator which filters elements by a predicate.
sourcefn find<F>(&mut self, f: F) -> Result<Option<&Self::Item>, Self::Error>
fn find<F>(&mut self, f: F) -> Result<Option<&Self::Item>, Self::Error>
Returns the first element of the iterator which satisfies a predicate.
sourcefn for_each<F>(self, f: F) -> Result<(), Self::Error>
fn for_each<F>(self, f: F) -> Result<(), Self::Error>
Calls a closure on each element of an iterator.
sourcefn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Returns an iterator which is well-behaved at the beginning and end of iteration.
sourcefn map<F, B>(self, f: F) -> Map<Self, F, B>
fn map<F, B>(self, f: F) -> Map<Self, F, B>
Returns an iterator which applies a transform to elements.
sourcefn map_ref<F, B>(self, f: F) -> MapRef<Self, F>
fn map_ref<F, B>(self, f: F) -> MapRef<Self, F>
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.
sourcefn map_err<F, B>(self, f: F) -> MapErr<Self, F>
fn map_err<F, B>(self, f: F) -> MapErr<Self, F>
Returns an iterator that applies a transform to errors.
sourcefn nth(&mut self, n: usize) -> Result<Option<&Self::Item>, Self::Error>
fn nth(&mut self, n: usize) -> Result<Option<&Self::Item>, Self::Error>
Returns the nth
element of the iterator.
sourcefn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
Returns the position of the first element matching a predicate.
sourcefn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Returns an iterator which skips the first n
elements.
sourcefn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
Returns an iterator which skips the first sequence of elements matching a predicate.
Implementations on Foreign Types§
source§impl<'a, I> FallibleStreamingIterator for &'a mut Iwhere
I: FallibleStreamingIterator + ?Sized,
impl<'a, I> FallibleStreamingIterator for &'a mut Iwhere
I: FallibleStreamingIterator + ?Sized,
type Item = <I as FallibleStreamingIterator>::Item
type Error = <I as FallibleStreamingIterator>::Error
fn advance(&mut self) -> Result<(), <I as FallibleStreamingIterator>::Error>
fn get(&self) -> Option<&<I as FallibleStreamingIterator>::Item>
fn size_hint(&self) -> (usize, Option<usize>)
fn next( &mut self ) -> Result<Option<&<I as FallibleStreamingIterator>::Item>, <I as FallibleStreamingIterator>::Error>
Implementors§
source§impl FallibleStreamingIterator for CodesHandle<GribFile>
impl FallibleStreamingIterator for CodesHandle<GribFile>
§Errors
The advance()
and next()
methods will return CodesInternal
when internal ecCodes function returns non-zero code.
type Item = KeyedMessage
type Error = CodesError
source§impl FallibleStreamingIterator for CodesHandle<CodesIndex>
Available on crate feature experimental_index
only.
impl FallibleStreamingIterator for CodesHandle<CodesIndex>
experimental_index
only.§Errors
The advance()
and next()
methods will return CodesInternal
when internal ecCodes function returns non-zero code.