Struct Memchr2

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

An iterator over all occurrences of two 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 Memchr2::new method.

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

Implementations

impl<'h> Memchr2<'h>

fn new(needle1: u8, needle2: u8, haystack: &'h [u8]) -> Memchr2<'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 Memchr2<'h>

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

impl<'h> Debug for Memchr2<'h>

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

impl<'h> DoubleEndedIterator for Memchr2<'h>

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

impl<'h> FusedIterator for Memchr2<'h>

impl<'h> Iterator for Memchr2<'h>

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

Auto Trait Implementations

impl<'h> Freeze for Memchr2<'h>

impl<'h> RefUnwindSafe for Memchr2<'h>

impl<'h> Send for Memchr2<'h>

impl<'h> Sync for Memchr2<'h>

impl<'h> Unpin for Memchr2<'h>

impl<'h> UnsafeUnpin for Memchr2<'h>

impl<'h> UnwindSafe for Memchr2<'h>

Blanket Implementations

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

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

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

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

fn from(t: T) -> T

Returns the argument unchanged.

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

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

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

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