commit | 362cb0207d73396d1465b451a43587134c7aa830 | [log] [tgz] |
---|---|---|
author | Matthew Maurer <[email protected]> | Tue Mar 07 17:24:44 2023 -0800 |
committer | Matthew Maurer <[email protected]> | Tue Mar 07 17:24:44 2023 -0800 |
tree | 3e0e1385d35f5968a00b1fcf75ee9d87bbe641dd | |
parent | ac56e3199fa351ec24bad01ccea2ce6c3684eba6 [diff] |
Make rusticata-macros available to product and vendor Bug: 270690570 Test: mma in external/rust/crates Change-Id: I74b0dfacb4b3d6b535590f42fa78344c6d88664a
Helper macros for the rusticata project.
This crate contains some additions to nom.
For example, the [combinator::cond_else
] function allows to apply the first parser if the condition is true, and the second if the condition is false:
use rusticata_macros::combinator::cond_else; let r: IResult<_, _, ()> = cond_else( || s.len() > 1, be_u16, map(be_u8, u16::from) )(s);
See the documentation for more details and examples.
Different versions of this crate are available, depending on nom version.
rusticata-macros
4.x depends on nom 7rusticata-macros
3.x depends on nom 6rusticata-macros
2.x depends on nom 5Crate is documented, do running cargo doc
will crate the offline documentation.
Reference documentation can be found here
slice_fixed
be_var_u64
and le_var_u64
Serialize
for structures serializationq
(quote) and align32
upgrade_error
and upgrade_error_to
custom_check
flat_take
newtype_enum
parse_uint24
as deprecatedLicensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.