Struct MatchesIter

pub struct MatchesIter<'h, F>(/* private field */);

An iterator over all non-overlapping matches for an infallible search.

The iterator yields a Match value until no more matches could be found.

The type parameters are as follows:

The lifetime parameters come from the Input type:

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_matches_iter and then calling TryMatchesIter::infallible.

Implementations

impl<'h, F> MatchesIter<'h, F>

fn input<'i>(&'i self) -> &'i Input<'h>

Returns the current Input used by this iterator.

The Input returned 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> Iterator for MatchesIter<'h, F> where F: FnMut(&Input<'_>) -> Result<Option<Match>, MatchError>,

type Item = Match;
fn next(&mut self) -> Option<Match>

impl<'h, F: Debug> Debug for MatchesIter<'h, F>

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl<'h, F> Freeze for MatchesIter<'h, F> where TryMatchesIter<'h, F>: Freeze,

impl<'h, F> RefUnwindSafe for MatchesIter<'h, F> where TryMatchesIter<'h, F>: RefUnwindSafe,

impl<'h, F> Send for MatchesIter<'h, F> where TryMatchesIter<'h, F>: Send,

impl<'h, F> Sync for MatchesIter<'h, F> where TryMatchesIter<'h, F>: Sync,

impl<'h, F> Unpin for MatchesIter<'h, F> where TryMatchesIter<'h, F>: Unpin,

impl<'h, F> UnsafeUnpin for MatchesIter<'h, F> where TryMatchesIter<'h, F>: UnsafeUnpin,

impl<'h, F> UnwindSafe for MatchesIter<'h, F> where TryMatchesIter<'h, F>: UnwindSafe,

Blanket Implementations

impl<I> IntoIterator for MatchesIter<'h, F> where I: Iterator,

type Item = <I as Iterator>::Item;
type IntoIter = I;
fn into_iter(self) -> I

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

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for MatchesIter<'h, F> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for MatchesIter<'h, F> where T: ?Sized,

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

impl<T> From<T> for MatchesIter<'h, F>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for MatchesIter<'h, F> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for MatchesIter<'h, F> where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for MatchesIter<'h, F> where U: TryFrom<T>,

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