nom::terminated!
[−]
[src]
macro_rules! terminated( ($i:expr, $submac:ident!( $($args:tt)* ), $submac2:ident!( $($args2:tt)* )) => ( { match $submac!($i, $($args)*) { $crate::IResult::Error(a) => $crate::IResult::Error(a), $crate::IResult::Incomplete(i) => $crate::IResult::Incomplete(i), $crate::IResult::Done(i1,o1) => { match $submac2!(i1, $($args2)*) { $crate::IResult::Error(a) => $crate::IResult::Error(a), $crate::IResult::Incomplete(i) => $crate::IResult::Incomplete(i), $crate::IResult::Done(i2,_) => { $crate::IResult::Done(i2, o1) } } }, } } ); ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => ( terminated!($i, $submac!($($args)*), call!($g)); ); ($i:expr, $f:expr, $submac:ident!( $($args:tt)* )) => ( terminated!($i, call!($f), $submac!($($args)*)); ); ($i:expr, $f:expr, $g:expr) => ( terminated!($i, call!($f), call!($g)); ); );
terminated!(I -> IResult<I,O>, I -> IResult<I,T>) => I -> IResult<I, O>
terminated(X, closing) returns X