0.1.0 |
|
---|
#9 in #holds
20KB
397 代码行
Vec-Array
- 合并 Vec/Array 存储
此库提供了 VecArray<T>
,一种类似数组的类型,它可以以固定大小的数组形式存储一定数量的值(目前固定为四个),实现无分配、快速访问。
如果存储的项目数量超过数组的容量,它将自动转换为使用 Vec
。
当项目被移除且总数低于数组的容量时,它将自动转换回使用堆分配的数组进行存储,并且释放 Vec
的内存。
固定存储容量
目前,固定大小的数组存储四个项目,这应该在内存占用(此类型的总大小取决于此)和减少分配之间取得良好的平衡。
要更改此大小,目前遗憾的是您必须克隆此仓库并直接修改代码。
这无法避免,直到 Rust 中的泛型常量出现。
支持 Deref
VecArray<T>
可解引用为 &[T]
和 &mut [T]
。实现了常见的 Vec
方法。在大多数情况下,VecArray<T>
是 Vec<T>
的直接替换。
支持迭代器
支持大多数常用/有用的迭代器,包括 iter()
、iter_mut()
和 into_iter()
。特别是,into_iter()
允许你像处理 Vec
一样清空 VecArray
的元素,这是普通数组无法做到的。
no-std
支持
使用 no_std
功能来构建 no-std
。