pub fn memchr3(
needle1: u8,
needle2: u8,
needle3: u8,
haystack: &[u8],
) -> Option<usize>
Expand description
Search for the first occurrence of three possible bytes in a haystack.
This returns the index corresponding to the first occurrence of one of the
needle bytes in haystack
, or None
if one is not found. If an index is
returned, it is guaranteed to be less than haystack.len()
.
While this is semantically the same as something like
haystack.iter().position(|&b| b == needle1 || b == needle2 || b == needle3)
,
this routine will attempt to use highly optimized vector operations that
can be an order of magnitude faster (or more).
ยงExample
This shows how to find the first position of one of three possible bytes in a haystack.
use memchr::memchr3;
let haystack = b"the quick brown fox";
assert_eq!(memchr3(b'k', b'q', b'u', haystack), Some(4));