Struct FindIter

pub struct FindIter<'h, 'n> { /* private fields */ }

An iterator over non-overlapping substring matches.

Matches are reported by the byte offset at which they begin.

'h is the lifetime of the haystack while 'n is the lifetime of the needle.

Implementations

impl<'h, 'n> FindIter<'h, 'n>

fn into_owned(self) -> FindIter<'h, 'static>

Convert this iterator into its owned variant, such that it no longer borrows the finder and needle.

If this is already an owned iterator, then this is a no-op. Otherwise, this copies the needle.

This is only available when the alloc feature is enabled.

Trait Implementations

impl<'h, 'n> Clone for FindIter<'h, 'n>

fn clone(&self) -> FindIter<'h, 'n>

impl<'h, 'n> Debug for FindIter<'h, 'n>

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

impl<'h, 'n> Iterator for FindIter<'h, 'n>

type Item = usize;
fn next(&mut self) -> Option<usize>
fn size_hint(&self) -> (usize, Option<usize>)

Auto Trait Implementations

impl<'h, 'n> Freeze for FindIter<'h, 'n>

impl<'h, 'n> RefUnwindSafe for FindIter<'h, 'n>

impl<'h, 'n> Send for FindIter<'h, 'n>

impl<'h, 'n> Sync for FindIter<'h, 'n>

impl<'h, 'n> Unpin for FindIter<'h, 'n>

impl<'h, 'n> UnsafeUnpin for FindIter<'h, 'n>

impl<'h, 'n> UnwindSafe for FindIter<'h, 'n>

Blanket Implementations

impl<I> IntoIterator for FindIter<'h, 'n> where I: Iterator,

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

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

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for FindIter<'h, 'n> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for FindIter<'h, 'n> where T: ?Sized,

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

impl<T> CloneToUninit for FindIter<'h, 'n> where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for FindIter<'h, 'n>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for FindIter<'h, 'n> where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for FindIter<'h, 'n> 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 FindIter<'h, 'n> where U: Into<T>,

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

impl<T, U> TryInto<U> for FindIter<'h, 'n> where U: TryFrom<T>,

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