3 个版本
0.1.2 | 2024 年 7 月 6 日 |
---|---|
0.1.1 | 2024 年 7 月 4 日 |
0.1.0 | 2024 年 6 月 26 日 |
665 在 数据结构 中
每月 37 次下载
在 tree-ds 中使用
14KB
161 代码行
Sequential_Gen
一个用于在 Rust 中生成顺序 ID 的简单 crate。当您需要为您的数据结构生成顺序 ID 时,此 crate 非常有用。
最近我需要为我正在开发的一个树形数据结构生成顺序 ID,但我找不到一个提供此功能的 crate,且具有 no_std
功能。因此,我决定创建这个 crate 来填补这一空白。
用法
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
sequential_gen = "0.1"
生成顺序 ID
为了确保生成的 ID 是唯一的,我们需要确保程序中只有一个 Generator
特例的实例。一旦您有了您的 Generator
实例,您就可以使用 generate
方法来生成顺序 ID。
extern crate lazy_static;
use lazy_static::lazy_static;
use sequential_gen::prelude::*;
lazy_static! {
static ref GENERATOR: SimpleGenerator<usize> = SimpleGenerator::new(1usize);
}
fn main() {
let id = GENERATOR.generate();
// Use your ID
}
注意:如果您需要更多控制生成过程或提供的生成器不符合您的要求,您也可以通过实现
Generator
特例来创建自己的生成器。
no_std
支持
此 crate 与 no_std
兼容,但您需要在 Cargo.toml
文件中禁用默认功能。然后您需要启用 no_std
功能
[dependencies]
sequential_gen = { version = "0.1", default-features = false, features = ["no_std"] }
注意:在
no_std
环境中工作时,您只能使用SimpleGenerator
结构。在大多数情况下,这应该足够。其他生成器需要std
库。
crate 的使用方法保持不变。
许可证
该项目根据 MIT 许可证授权。
依赖关系
~460–720KB
~14K SLoC