pub const fn bytes_find_skip<'a>(
this: &'a [u8],
needle: &[u8],
) -> Option<&'a [u8]>
Expand description
Advances this
past the first instance of needle
.
Return None
if no instance of needle
is found.
Return Some(this)
if needle
is empty.
§Motivation
This function exists because calling bytes_find
+ slice_from
when the "rust_1_64"
feature is disabled
is slower than it could be, since the slice has to be traversed twice.
§Example
use konst::slice::bytes_find_skip;
{
const FOUND: Option<&[u8]> = bytes_find_skip(b"foo bar baz", b"bar");
assert_eq!(FOUND, Some(&b" baz"[..]));
}
{
const NOT_FOUND: Option<&[u8]> = bytes_find_skip(b"foo bar baz", b"qux");
assert_eq!(NOT_FOUND, None);
}
{
const EMPTY_NEEDLE: Option<&[u8]> = bytes_find_skip(b"foo bar baz", b"");
assert_eq!(EMPTY_NEEDLE, Some(&b"foo bar baz"[..]));
}