Function combine::parser::byte::bytes_cmp

source ·
pub fn bytes_cmp<'a, 'b, C, Input>(
    s: &'static [u8],
    cmp: C
) -> bytes_cmp<'a, 'b, C, Input>
where <Input as StreamOnce>::Error: ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>, Input: Stream + Stream<Token = u8, Range = &'b [u8]>, C: FnMut(u8, u8) -> bool,
Expand description

Parses the bytes s using cmp to compare each token.

If you have a stream implementing RangeStream such as &[u8] you can also use the range parser which may be more efficient.

let result = bytes_cmp(&b"abc"[..], |l, r| l.eq_ignore_ascii_case(&r))
    .parse(&b"AbC"[..]);
assert_eq!(result, Ok((&b"abc"[..], &b""[..])));