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