15个版本 (7个稳定版本)
2.0.1 | 2024年5月21日 |
---|---|
2.0.0 | 2022年2月28日 |
1.1.3 | 2022年2月24日 |
1.1.0 | 2021年10月25日 |
0.1.0 | 2020年12月28日 |
#20 在 无标准库 中
每月下载量 481
15KB
130 行
serial_int
安全、易于使用的自增整数
序列(或自增)整数是优秀的唯一标识符,因为它们不需要很大(即使用更多内存)来防止冲突。它们在达到最大值之前总是唯一的,类似于PostgreSQL的SERIAL
数据类型的操作。创建序列值对性能的影响最小,因为它依赖于简单的添加而不是哈希或随机化。
此包提供了一个生成器(也是迭代器),输出序列值。默认情况下,任何标准库中的无符号整数都可以生成。这本质上是一个计数器,一个简单的整数迭代器。此包非常小巧。
为了安全和稳定性,生成器“饱和”值而不是溢出。这保证了输出值对于该生成器是唯一的(除了最大可能值,例如u8::MAX或u32::MAX)。
功能
- 可用性
- 简单的、有文档的API
- 支持标准库中所有无符号整数
- 迭代器实现
- 通过功能标志支持Serde支持
-
no_std
- 安全性
- 无panic
- 无依赖
- 完整的测试覆盖率
- 可扩展性
- 支持使用单个特质的自定义序列类型
- 测试使用特质的泛型,使得测试新实现变得容易
使用
使用生成器创建唯一标识符。
let mut gen = SerialGenerator::<u32>::new();
assert_eq!(0, gen.generate());
assert_eq!(1, gen.generate());
更多示例请参阅文档。
贡献
如何贡献
提交补丁。如果您添加了Serial的新实现,请使用提供的函数在tests
中添加子模块。 请在提交贡献之前运行"test.sh"脚本。
该项目在Sourcehut上维护。通过该平台进行的贡献更受欢迎。如果您遇到问题或想请求功能,可以提交一个工单。您可以使用邮件列表来提交补丁或进行公开讨论。
在Github镜像上接受贡献。
🦀🔧 贡献者 🔧🦀
- Jeff Anderson 🐙 - Sourcehut | Github | https://jeffa.io
- Yash Karandikar 🧞 - Sourcehut | Github | https://karx.xyz/
- devalain 👾 - Github
依赖关系
~170KB