# Function memchr::memchr3 [−] [src]

    pub fn memchr3(
        needle1: u8,
        needle2: u8,
        needle3: u8,
        haystack: &[u8]
    ) -> Option<usize>

Like `memchr`, but searches for any of three bytes instead of just one.

This returns the index corresponding to the first occurrence of `needle1`, the first occurrence of `needle2`, or the first occurrence of `needle3` in `haystack` (whichever occurs earliest), or `None` if none are found.

While this is operationally the same as something like `haystack.iter().position(|&b| b == needle1 || b == needle2 || b == needle3)`, `memchr3` will use a highly optimized routine that can be up to an order of magnitude faster in some cases.

# Example

This shows how to find the first position of any of three bytes in a byte string.

    use memchr::memchr3;

    let haystack = b"the quick brown fox";
    assert_eq!(memchr3(b'k', b'q', b'e', haystack), Some(2));