#[inline]
pub fn scan_quote_or_backslash(input: &[u8]) -> usize {
input
.iter()
.position(|&b| b == b'"' || b == b'\\')
.unwrap_or(input.len())
}
#[inline]
pub fn scan_escape_chars(input: &[u8]) -> usize {
for (i, &b) in input.iter().enumerate() {
if b == b'"' || b == b'\\' || b == b'\n' || b == b'\r' || b == b'\t' {
return i;
}
}
input.len()
}
#[inline]
pub fn skip_whitespace(input: &[u8]) -> usize {
input
.iter()
.position(|&b| b != b' ' && b != b'\t' && b != b'\n' && b != b'\r')
.unwrap_or(input.len())
}
#[inline]
pub fn is_all_ascii(input: &[u8]) -> bool {
input.iter().all(|&b| b < 0x80)
}