Struct TryHalfMatchesIter
pub struct TryHalfMatchesIter<'h, F> { /* private fields */ }
An iterator over all non-overlapping half matches for a fallible search.
The iterator yields a Result<HalfMatch, MatchError> value until no more
matches could be found.
The type parameters are as follows:
Frepresents the type of a closure that executes the search.
The lifetime parameters come from the Input type:
'his the lifetime of the underlying haystack.
When possible, prefer the iterators defined on the regex engine you're using. This tries to abstract over the regex engine and is thus a bit more unwieldy to use.
This iterator is created by Searcher::into_half_matches_iter.
Implementations
impl<'h, F> TryHalfMatchesIter<'h, F>
fn infallible(self) -> HalfMatchesIter<'h, F>Return an infallible version of this iterator.
Any item yielded that corresponds to an error results in a panic. This is useful if your underlying regex engine is configured in a way that it is guaranteed to never return an error.
fn input<'i>(&'i self) -> &'i Input<'h>Returns the current
Inputused by this iterator.The
Inputreturned is generally equivalent to the one used to construct this iterator, but its start position may be different to reflect the start of the next search to be executed.
Trait Implementations
impl<'h, F> Debug for TryHalfMatchesIter<'h, F>
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'h, F> Iterator for TryHalfMatchesIter<'h, F>
where
F: FnMut(&Input<'_>) -> Result<Option<HalfMatch>, MatchError>,
type Item = Result<HalfMatch, MatchError>;fn next(&mut self) -> Option<Result<HalfMatch, MatchError>>
Auto Trait Implementations
impl<'h, F> Freeze for TryHalfMatchesIter<'h, F>
where
F: Freeze,
impl<'h, F> RefUnwindSafe for TryHalfMatchesIter<'h, F>
where
F: RefUnwindSafe,
impl<'h, F> Send for TryHalfMatchesIter<'h, F>
where
F: Send,
impl<'h, F> Sync for TryHalfMatchesIter<'h, F>
where
F: Sync,
impl<'h, F> Unpin for TryHalfMatchesIter<'h, F>
where
F: Unpin,
impl<'h, F> UnsafeUnpin for TryHalfMatchesIter<'h, F>
where
F: UnsafeUnpin,
impl<'h, F> UnwindSafe for TryHalfMatchesIter<'h, F>
where
F: UnwindSafe,
Blanket Implementations
impl<I> IntoIterator for TryHalfMatchesIter<'h, F>
where
I: Iterator,
type Item = <I as Iterator>::Item;type IntoIter = I;fn into_iter(self) -> I
impl<T> Any for TryHalfMatchesIter<'h, F>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for TryHalfMatchesIter<'h, F>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for TryHalfMatchesIter<'h, F>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for TryHalfMatchesIter<'h, F>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into<U> for TryHalfMatchesIter<'h, F>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for TryHalfMatchesIter<'h, F>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for TryHalfMatchesIter<'h, F>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>