nom::pair!
[−]
[src]
macro_rules! pair( ($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,o2) => { $crate::IResult::Done(i2, (o1, o2)) } } }, } } ); ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => ( pair!($i, $submac!($($args)*), call!($g)); ); ($i:expr, $f:expr, $submac:ident!( $($args:tt)* )) => ( pair!($i, call!($f), $submac!($($args)*)); ); ($i:expr, $f:expr, $g:expr) => ( pair!($i, call!($f), call!($g)); ); );
pair!(I -> IResult<I,O>, I -> IResult<I,P>) => I -> IResult<I, (O,P)>
pair(X,Y), returns (x,y)