Sha256: e17cd3b765467685946707840b92ea4e37d3c11081fbf316174a15858cd4bd99

Contents?: true

Size: 621 Bytes

Versions: 30

Compression:

Stored size: 621 Bytes

Contents

/// Searches for the given needle in the given haystack.
///
/// If the perf-literal feature is enabled, then this uses the super optimized
/// memchr crate. Otherwise, it uses the naive byte-at-a-time implementation.
pub(crate) fn find_byte(needle: u8, haystack: &[u8]) -> Option<usize> {
    #[cfg(not(feature = "perf-literal"))]
    fn imp(needle: u8, haystack: &[u8]) -> Option<usize> {
        haystack.iter().position(|&b| b == needle)
    }

    #[cfg(feature = "perf-literal")]
    fn imp(needle: u8, haystack: &[u8]) -> Option<usize> {
        memchr::memchr(needle, haystack)
    }

    imp(needle, haystack)
}

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/regex-1.11.1/src/find_byte.rs
wasmtime-28.0.0 ./ext/cargo-vendor/regex-1.11.1/src/find_byte.rs
wasmtime-27.0.0 ./ext/cargo-vendor/regex-1.11.1/src/find_byte.rs
wasmtime-26.0.0 ./ext/cargo-vendor/regex-1.11.1/src/find_byte.rs
wasmtime-25.0.2 ./ext/cargo-vendor/regex-1.10.6/src/find_byte.rs
wasmtime-25.0.1 ./ext/cargo-vendor/regex-1.10.6/src/find_byte.rs
wasmtime-25.0.0 ./ext/cargo-vendor/regex-1.10.6/src/find_byte.rs
wasmtime-24.0.0 ./ext/cargo-vendor/regex-1.10.6/src/find_byte.rs
wasmtime-23.0.2 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-22.0.0 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-21.0.1 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-20.0.2 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-20.0.0 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-18.0.3 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-17.0.1 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-17.0.0 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-16.0.0 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-15.0.1 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-15.0.0 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs
wasmtime-14.0.4 ./ext/cargo-vendor/regex-1.10.2/src/find_byte.rs