| 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。