8次发布
0.3.2 | 2022年1月4日 |
---|---|
0.3.1 | 2022年1月4日 |
0.3.0 |
|
0.2.0 | 2020年12月28日 |
0.1.3 | 2020年7月17日 |
#2122 in 数据结构
122 每月下载
用于 sanitise-file-name
110KB
1.5K SLoC
tinyvec_string
tinyvec
基于的字符串类型。
查看 docs.rs 文档
tinyvec_string
提供两种字符串类型
ArrayString
,使用ArrayVec
在栈上使用固定大小的数组的字符串TinyString
,使用栈上固定大小的数组或堆上的Vec
的字符串
功能
与 tinyvec
一样,tinyvec_string
默认是 no_std
。
ArrayString
没有依赖项(除了 tinyvec
和 core
)。
TinyString
需要启用 alloc
cargo 功能,因为它依赖于 alloc
。
[dependencies]
tinyvec_string = { version = "0.3.2", features = ["alloc"] }
当启用 std
功能时,错误类型实现了 std::error::Error
。
rustc_1_40
功能启用 tinyvec
的 rustc_1_40
功能,该功能为 Rust >= 1.40 版本启用了一些优化。
rustc_1_55
功能启用 const 泛型以允许使用任何大小的后端数组。
rustc_1_57
功能启用 TinyString::try_reserve
和 TinyString::try_reserve_exact
。
安全性
此crate力求尽可能安全。几乎所有内部 unsafe
代码都是直接从 std
的 String
实现复制,以确保最大可靠性和性能。
MSRV
与 tinyvec
一样,tinyvec_string
(不带 rustc
版本功能)支持 Rust 1.34+。需要 alloc
功能时,需要 Rust 1.36+。
贡献
如果您遇到问题,请随时提交一个问题,如果您有解决方案,请提交一个拉取请求。您也可以在Rust社区Discord服务器 @ThatsNoMoon#0175联系我。
许可证
tinyvec_string
采用Apache-2.0和MIT双许可。大量代码、文档和测试是从rust-lang/rust直接复制或修改复制的;此类内容的版权属于原作者。
依赖项
~190–420KB
~14K SLoC