Function take
fn take<I, O, C, E: ParseError<(I, usize)>>(count: C) -> impl Fn((I, usize)) -> crate::internal::IResult<(I, usize), O, E>
where
I: Input<Item = u8>,
C: ToUsize,
O: From<u8> + AddAssign + Shl<usize, Output = O> + Shr<usize, Output = O>
Generates a parser taking count bits
Example
# use take;
# use IResult;
# use ;
// Input is a tuple of (input: I, bit_offset: usize)
// Consumes 0 bits, returns 0
assert_eq!;
// Consumes 4 bits, returns their values and increase offset to 4
assert_eq!;
// Consumes 4 bits, offset is 4, returns their values and increase offset to 0 of next byte
assert_eq!;
// Tries to consume 12 bits but only 8 are available
assert_eq!;