#proc-macro #matching #range #typenum #procedural #match #write

u-num-it

给定范围内的类型匹配 typenum 宏

3个版本

0.1.2 2024年3月16日
0.1.1 2024年3月14日
0.1.0 2024年3月14日

过程宏中排名363

Download history 49/week @ 2024-03-29 6/week @ 2024-04-05

每月下载量64

MIT许可

9KB
173

u-num-it

一个简单的用于在给定范围内匹配 typenum::consts 的过程宏。

帮助你编写

let x:isize = 3;

u_num_it!(-5..5, match x {
    N => {
        N::new()
    },
    False => {
        False::new()
    },
    P => {
        P::new()
    }
})

而不是

let x = 3;
match x {
    -5 => {
        typenum::consts::N5::new();
    }
    -4 => {
        typenum::consts::N4::new();
    }
    -3 => {
        typenum::consts::N3::new();
    }
    -2 => {
        typenum::consts::N2::new();
    }
    -1 => {
        typenum::consts::N1::new();
    }
    0 => {
        typenum::consts::False::new();
    }
    1 => {
        typenum::consts::P1::new();
    }
    2 => {
        typenum::consts::P2::new();
    }
    3 => {
        typenum::consts::P3::new();
    }
    4 => {
        typenum::consts::P4::new();
    }
    i => {
        panic!()
    }
}

依赖项

~295–750KB
~18K SLoC