10 个稳定版本
| 1.4.2 | 2024年6月14日 |
|---|---|
| 1.4.1 | 2024年6月13日 |
#531 在 算法
每月450 次下载
31KB
725 行
singlevec
当您需要 Vec,但大部分时间只存储一个元素时使用。在这种情况下,单个元素可以存储在栈上,对于多个元素将回退到堆存储。
类似于 tinyvec::TinyVec<[T; 1]>,它与 Vec 和 Option 共享方法。
适用于简单用例的简单且100%安全的代码。
lib.rs:
SingleVec 是一种类似于 Vec 的容器类型,针对存储单个元素进行了优化。
内部存储0或1个元素,作为一个标准的 Option - 可以保持在栈上 - 但对于多个元素将回退到标准的 Vec - 这些元素存储在堆上。
虽然 SingleVec 与 Vec 共享许多相同的特性和方法,但它也共享许多与 Option 和 Iterator 相同的方法,在适当的情况下。由于只打算有一个可选项目作为常见情况,这些方法可以完全避免迭代。
其他特性
serde提供Serialize和Deserialize支持,前提是内部类型也有相同的实现。
依赖项
~175KB