Crate rusticata_macros
source ·Expand description
§Rusticata-macros
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.
Re-exports§
Modules§
- General purpose combinators
- Helper functions and structures for debugging purpose
- Helper macros
Macros§
- Align input value to the next multiple of 4 bytes
- Align input value to the next multiple of n bytes Valid only if n is a power of 2
- Helper macro for nom parsers: raise error if the condition is true
- emptyDeprecatedHelper macro for nom parsers: raise error if input is not empty
- Helper macro for nom parsers: raise error if the condition is true
- Combination and flat_map! and take! as first combinator
- Helper macro for newtypes: declare associated constants and implement Display trait
- Read a slice as a big-endian value.
- Nom combinator that returns the given expression unchanged
- Apply combinator, trying to “upgrade” error to next error type (using the
Into
orFrom
traits). - Apply combinator, trying to “upgrade” error to next error type (using the
Into
orFrom
traits).
Traits§
- Common trait for structures serialization