pub fn skip_count_min_max<Input, P>(
min: usize,
max: usize,
parser: P
) -> SkipCountMinMax<Input, P> where
<Input as StreamOnce>::Error: ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>,
Input: Stream,
P: Parser<Input>,
Expand description
Parses parser
from min
to max
times (including min
and max
)
skipping the output of parser
.
let mut parser = skip_count_min_max(2, 2, token(b'a'));
let result = parser.parse(&b"aaab"[..]);
assert_eq!(result, Ok(((), &b"ab"[..])));
let result = parser.parse(&b"ab"[..]);
assert!(result.is_err());
Panics
If min
> max
.