Macro peel_ip::prelude::length_value
[−]
macro_rules! length_value { ( $ i : expr , $ submac : ident ! ( $ ( $ args : tt ) * ) , $ submac2 : ident ! ( $ ( $ args2 : tt ) * ) ) => { ... }; ( $ i : expr , $ submac : ident ! ( $ ( $ args : tt ) * ) , $ g : expr ) => { ... }; ( $ i : expr , $ f : expr , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ i : expr , $ f : expr , $ g : expr ) => { ... }; }
length_value!(I -> IResult<I, nb>, I -> IResult<I,O>) => I -> IResult<I, Vec<O>>
gets a number from the first parser, takes a subslice of the input of that size,
then applies the second parser on that subslice. If the second parser returns
Incomplete
, length_value
will return an error