#unique-id #id #macro #struct #unique #static

无 std numid

用于生成类似数值 ID 的结构的宏

11 个版本

0.2.9 2019 年 12 月 15 日
0.2.8 2019 年 11 月 9 日
0.2.5 2019 年 10 月 29 日
0.1.2 2019 年 10 月 14 日

#189 in 无标准库

每月下载 27

MIT 许可证

24KB
394

numid

Build Status Crate Documentation Minimum rustc version License

此软件包提供 numid! 宏,用于生成类似数值 ID 的结构。

示例

use numid::numid;

numid!(pub struct MyId -> 10);

fn main() {
    let id1 = MyId::new();
    let id2 = MyId::new();

    assert!(id2 > id1);
    assert_eq!(id1.value(), 11);
    assert_eq!(id2.value(), 12);
}

用法

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
numid = "0.2"

现在您可以在程序中创建所有需要的 ID

use numid::numid;

numid!(struct Id); // basic id
numid!(pub struct Id2); // public
numid!(pub(crate) struct Id3); // restricted public
numid!(#[doc(hidden)] struct Id4); // with attribut
numid!(struct Id5 -> 100); // init const specified
numid!(struct Id6(u128)); // type specified
numid!(@CloneIsReproduce struct Id7); // with in-macro special attribute
numid!(#[doc(hidden)] @CloneIsNew pub struct Id8(u32) -> 10); // all the thing you can want

有关更多信息,请参阅 文档

待办事项列表

  • serde 功能

依赖项