Function combine::parser::repeat::count_min_max[][src]

pub fn count_min_max<F, Input, P>(
    min: usize,
    max: usize,
    parser: P
) -> CountMinMax<F, P> where
    Input: Stream,
    P: Parser<Input>,
    F: Extend<P::Output> + Default
Expand description

Parses parser from min to max times (including min and max).

let mut parser = count_min_max(2, 2, token(b'a'));

let result = parser.parse(&b"aaab"[..]);
assert_eq!(result, Ok((b"aa"[..].to_owned(), &b"ab"[..])));
let result = parser.parse(&b"ab"[..]);
assert!(result.is_err());

Panics

If min > max.