Struct Memchr3

pub struct Memchr3<'h> { /* private fields */ }

An iterator over all occurrences of three possible bytes in a haystack.

This iterator implements DoubleEndedIterator, which means it can also be used to find occurrences in reverse order.

This iterator is created by the memchr2_iter or [memrchr2_iter] functions. It can also be created with the Memchr3::new method.

The lifetime parameter 'h refers to the lifetime of the haystack being searched.

Implementations

impl<'h> Memchr3<'h>

fn new(needle1: u8, needle2: u8, needle3: u8, haystack: &'h [u8]) -> Memchr3<'h>

Returns an iterator over all occurrences of the needle bytes in the given haystack.

The iterator returned implements DoubleEndedIterator. This means it can also be used to find occurrences in reverse order.

Trait Implementations

impl<'h> Clone for Memchr3<'h>

fn clone(&self) -> Memchr3<'h>

impl<'h> Debug for Memchr3<'h>

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

impl<'h> DoubleEndedIterator for Memchr3<'h>

fn next_back(&mut self) -> Option<usize>

impl<'h> FusedIterator for Memchr3<'h>

impl<'h> Iterator for Memchr3<'h>

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

Auto Trait Implementations

impl<'h> Freeze for Memchr3<'h>

impl<'h> RefUnwindSafe for Memchr3<'h>

impl<'h> Send for Memchr3<'h>

impl<'h> Sync for Memchr3<'h>

impl<'h> Unpin for Memchr3<'h>

impl<'h> UnsafeUnpin for Memchr3<'h>

impl<'h> UnwindSafe for Memchr3<'h>

Blanket Implementations

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

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

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for Memchr3<'h>

fn from(t: T) -> T

Returns the argument unchanged.

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

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

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

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

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

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