2 个稳定版本
1.0.1 | 2021 年 9 月 15 日 |
---|---|
1.0.0 | 2021 年 9 月 14 日 |
#600 in 并发
每月 41 次下载
用于 dlt-tracing-subscriber
13KB
266 行
自增
这是一个用于实现自增值的小型库,例如 ID 或其他。
[dependencies]
autoincrement = "1"
同步生成器示例
use autoincrement::prelude::*;
#[derive(Incremental, PartialEq, Eq, Debug)]
struct MyId(u32);
let mut generator = MyId::init();
assert_eq!(generator.pull(), MyId(1));
assert_eq!(generator.pull(), MyId(2));
assert_eq!(generator.pull(), MyId(3));
设置第一个值
use autoincrement::prelude::*;
#[derive(Incremental, PartialEq, Eq, Debug)]
struct MyId(u32);
let mut generator = MyId(20).init_from();
assert_eq!(generator.pull(), MyId(20));
assert_eq!(generator.pull(), MyId(21));
assert_eq!(generator.pull(), MyId(22));
使用线程安全生成器的示例
[dependencies]
autoincrement = { version = "1", features = ["derive", "async"] }
use autoincrement::prelude::*;
#[derive(AsyncIncremental, PartialEq, Eq, Debug)]
struct MyId(u32);
let generator = MyId::init(); // does not need to be mutable
assert_eq!(generator.pull(), MyId(1));
assert_eq!(generator.pull(), MyId(2));
assert_eq!(generator.pull(), MyId(3));
依赖项
~0–285KB