| 
				
					
						 | 
			||
|---|---|---|
| .. | ||
| .github/workflows | ||
| benches | ||
| src | ||
| .cargo_vcs_info.json | ||
| .travis.yml | ||
| Android.bp | ||
| Cargo.toml | ||
| Cargo.toml.orig | ||
| LICENSE | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| METADATA | ||
| MODULE_LICENSE_APACHE2 | ||
| OWNERS | ||
| README.md | ||
| TEST_MAPPING | ||
| cargo2android.json | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	rusticata-macros
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.
Nom versions
Different versions of this crate are available, depending on nom version.
rusticata-macros4.x depends on nom 7rusticata-macros3.x depends on nom 6rusticata-macros2.x depends on nom 5
Documentation
Crate is documented, do running cargo doc will crate the offline documentation.
Reference documentation can be found here
Changes
4.1.0
- Remove macro 
slice_fixed 
4.0.0
- Upgrade to nom 7
- Remove macros
 
 
3.0.1
- Add 
be_var_u64andle_var_u64 
3.0.0
- Upgrade to nom 6
 
2.1.0
- Add common trait 
Serializefor structures serialization 
2.0.4
- Add function version of most combinators
 
2.0.3
- Add macros 
q(quote) andalign32 
2.0.2
- Add 
upgrade_errorandupgrade_error_to 
2.0.1
- Add macro 
custom_check - Add macro 
flat_take 
2.0.0
- Upgrade to nom 5
 - Debug types: use newtypes
 
1.1.0
- Add macro 
newtype_enum 
1.0.0
- Upgrade to nom 4.0
- Warning: this is a breaking change!
 
 - Mark 
parse_uint24as deprecated 
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
 - MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
 
at your option.
Contribution
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.