parsely-rs 0.1.6

Macro-based struct serialization/deserialization
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use parsely_rs::*;

#[derive(ParselyRead)]
struct Foo {
    has_value: bool,
    #[parsely_read(when = "has_value")]
    value: Option<u7>,
}

fn main() {
    let mut bits = Bits::from_static_bytes(&[0b1_0000001, 2]);
    let foo = Foo::read::<NetworkOrder>(&mut bits, ()).expect("successful parse");

    assert_eq!(foo.value, Some(u7::new(1)));
}