aboutsummaryrefslogtreecommitdiff
path: root/src/util.rs
blob: 809287f3dc0a26c34590e234937ed557657dc8d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[macro_export]
macro_rules! parse_match {
    ( $matchee:expr, $pos:expr, $map:expr, $bytes:expr, $name:expr, $(($pattern:pat, $type:ty, $variant:expr)),* ) => {
        match $matchee {
            $(
                $pattern => {
                    let value: $type;

                    $pos = $pos + value.parse(&$bytes[($pos)..]);
                    $map.insert($name, $variant(value));
                },
            )*
        };
    };
}