Macro nom::value[][src]

macro_rules! value {
    ($i : expr, $res : expr, $submac : ident! ($($args : tt) *)) => { ... };
    ($i : expr, $res : expr, $f : expr) => { ... };
    ($i : expr, $res : expr) => { ... };
}
Expand description

value!(T, R -> IResult<R, S> ) => R -> IResult<R, T>

or value!(T) => R -> IResult<R, T>

If the child parser was successful, return the value. If no child parser is provided, always return the value

 named!(x<u8>, value!(42, delimited!(tag!("<!--"), take!(5), tag!("-->"))));
 named!(y<u8>, delimited!(tag!("<!--"), value!(42), tag!("-->")));
 let r = x(&b"<!-- abc --> aaa"[..]);
 assert_eq!(r, Ok((&b" aaa"[..], 42)));

 let r2 = y(&b"<!----> aaa"[..]);
 assert_eq!(r2, Ok((&b" aaa"[..], 42)));