#数据结构 #单一 #安全 #回退 #优化 #向量 #

无 std singlevec

针对只存储单个元素的 Vec 类容器进行优化

10 个稳定版本

1.4.2 2024年6月14日
1.4.1 2024年6月13日

#531算法

Download history 224/week @ 2024-05-30 376/week @ 2024-06-06 394/week @ 2024-06-13 14/week @ 2024-06-20

每月450 次下载

MIT/Apache

31KB
725

singlevec

当您需要 Vec,但大部分时间只存储一个元素时使用。在这种情况下,单个元素可以存储在栈上,对于多个元素将回退到堆存储。

类似于 tinyvec::TinyVec<[T; 1]>,它与 VecOption 共享方法。

适用于简单用例的简单且100%安全的代码。


lib.rs:

SingleVec 是一种类似于 Vec 的容器类型,针对存储单个元素进行了优化。

内部存储0或1个元素,作为一个标准的 Option - 可以保持在栈上 - 但对于多个元素将回退到标准的 Vec - 这些元素存储在堆上。

虽然 SingleVecVec 共享许多相同的特性和方法,但它也共享许多与 OptionIterator 相同的方法,在适当的情况下。由于只打算有一个可选项目作为常见情况,这些方法可以完全避免迭代。

其他特性

  • serde 提供 SerializeDeserialize 支持,前提是内部类型也有相同的实现。

依赖项

~175KB