17个版本 (10个重大更新)
0.10.0 | 2022年10月6日 |
---|---|
0.8.1 | 2022年7月22日 |
0.6.0 | 2022年3月25日 |
0.0.2 | 2021年12月15日 |
0.0.1 | 2021年11月24日 |
#1158 in 数据结构
每月48次下载
390KB
10K SLoC
cds - 优化数据结构集合
cds
实现了为速度、小内存占用和安全性而编写的便捷数据结构。
包含哪些内容?
SpareMemoryPolicy
- 一个用于处理集合中备用内存的自定义策略(允许擦除未使用的内存以删除可能敏感的数据)LengthType
- 一个用于跟踪集合长度的自定义类型(允许创建非常紧凑的集合类型)ArrayVec
- 具有类似向量API的数组ArrayString
- 具有类似字符串API的数组lformat!
- 一个宏,用于在堆上格式化字符串,无需内存分配(产生一个ArrayString
)aformat!
- 一个宏,用于在堆上格式化字符串,无需内存分配(产生一个Result<ArrayString>
)SmallVec
- 一个具有对小容量优化的小型可增长数组
包功能
arrayvec
- 启用ArrayVec
arraystring
- 启用ArrayString
smallvec
- 启用SmallVec
,意味着alloc
。alloc
- 启用标准 alloc 包的使用std
- 启用Rust标准库的使用。意味着alloc
,并启用在core
中不可用的标准特质的实现。如果没有此功能,则包为no_std
。
默认情况下,所有可选功能都启用。要在 no_std
环境中构建,或避免编译不需要的功能,请使用 default-features = false
并显式选择所需功能。
文档
文档位于 docs.rs/cds
路线图
SmallString
- 具有本地容量的字符串,以避免堆分配
变更日志
变更日志维护在 CHANGELOG.md
许可证
许可协议为以下之一
- Apache License,版本 2.0(《LICENSE-APACHE》或https://apache.ac.cn/licenses/LICENSE-2.0》)
- MIT 许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT》)
由您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。
标签
small
secure
vector
string
array
smallvec
smallstr