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无标准库

Download history 28/week @ 2024-05-03 25/week @ 2024-05-10 229/week @ 2024-05-17 127/week @ 2024-05-24 41/week @ 2024-05-31 53/week @ 2024-06-07 93/week @ 2024-06-14 64/week @ 2024-06-21 23/week @ 2024-06-28 6/week @ 2024-07-05 10/week @ 2024-07-19 60/week @ 2024-07-26 119/week @ 2024-08-02 123/week @ 2024-08-09 176/week @ 2024-08-16

每月下载量 481

MIT 许可证

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镜像上接受贡献。

🦀🔧 贡献者 🔧🦀

依赖关系

~170KB