]> git.proxmox.com Git - rustc.git/blob - vendor/regex-1.4.6/src/find_byte.rs
New upstream version 1.56.0+dfsg1
[rustc.git] / vendor / regex-1.4.6 / src / find_byte.rs
1 /// Searches for the given needle in the given haystack.
2 ///
3 /// If the perf-literal feature is enabled, then this uses the super optimized
4 /// memchr crate. Otherwise, it uses the naive byte-at-a-time implementation.
5 pub fn find_byte(needle: u8, haystack: &[u8]) -> Option<usize> {
6 #[cfg(not(feature = "perf-literal"))]
7 fn imp(needle: u8, haystack: &[u8]) -> Option<usize> {
8 haystack.iter().position(|&b| b == needle)
9 }
10
11 #[cfg(feature = "perf-literal")]
12 fn imp(needle: u8, haystack: &[u8]) -> Option<usize> {
13 use memchr::memchr;
14 memchr(needle, haystack)
15 }
16
17 imp(needle, haystack)
18 }