Function memchr::memrchr3

source ·
pub fn memrchr3(
    needle1: u8,
    needle2: u8,
    needle3: u8,
    haystack: &[u8]
) -> Option<usize>
Expand description

Search for the last occurrence of three possible bytes in a haystack.

This returns the index corresponding to the last 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().rposition(|&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 last position of one of three possible bytes in a haystack.

use memchr::memrchr3;

let haystack = b"the quick brown fox";
assert_eq!(memrchr3(b'k', b'o', b'n', haystack), Some(17));