Macro peel_ip::prelude::method
[−]
macro_rules! method { ( $ name : ident < $ a : ty > ( $ i : ty ) -> $ o : ty , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty , $ i : ty , $ o : ty , $ e : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty , $ i : ty , $ o : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty , $ o : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty > ( $ i : ty ) -> $ o : ty , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty , $ i : ty , $ o : ty , $ e : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty , $ i : ty , $ o : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty , $ o : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty > , $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty > ( $ i : ty ) -> $ o : ty , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty , $ i : ty , $ o : ty , $ e : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty , $ i : ty , $ o : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty , $ o : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( $ name : ident < $ a : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty > ( $ i : ty ) -> $ o : ty , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty , $ i : ty , $ o : ty , $ e : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty , $ i : ty , $ o : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty , $ o : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; ( pub $ name : ident < $ a : ty > , mut $ self_ : ident , $ submac : ident ! ( $ ( $ args : tt ) * ) ) => { ... }; }
Makes a method from a parser combination
The must be set up because the compiler needs the information
method!(my_function<Parser<'a> >( &[u8] ) -> &[u8], tag!("abcd")); // first type parameter is `self`'s type, second is input, third is output method!(my_function<Parser<'a>, &[u8], &[u8]>, tag!("abcd")); //prefix them with 'pub' to make the methods public method!(pub my_function<Parser<'a>,&[u8], &[u8]>, tag!("abcd"));