#array #append #insert #insertion #vector

nightly no-std array_manipulation

以类似 Vec 的方式操作数组的函数。一旦 const 表达式不那么实验性,它可能(可能)会进入核心。

5 个版本 (3 个破坏性更新)

0.4.1 2022年7月23日
0.4.0 2022年7月22日
0.3.0 2022年7月22日
0.2.0 2022年7月21日
0.1.0 2022年7月20日

2731Rust 模式

每月下载量:22

MIT 许可证

13KB
187

将数组操作得就像向量一样!

此crate公开了2个trait,允许以类似vec的方式操作数组。

ArrayVec 这样的替代品在类似于 [MaybeUninit<T>; N] 的数据结构上操作,并在大小溢出时引发恐慌。这个crate的目的是允许“调整大小”数组。

如果你非常依赖这个crate,可能链表会是一个更好的选择,但这个crate对于一次性操作仍然非常有用,在这些操作中,使用链表会带来更多问题而不是解决方案,或者在不能分配的情况下强制转换数组或设备。

当您需要操作数组但稍后还需要使用固定数组而不是Vec时,此crate工作得非常好并且性能出色。在这种情况下,您避免了1次 malloc() 和3次 memcpy() 的最佳情况场景和n次 malloc()、3次 memcpy() 和一个条件最坏情况场景。

合并到核心

这个crate依赖于实验性的(不完整的)功能generic-const-exprs,所以Pre-RFC 被推迟直到它不会达到更成熟的状态。

无运行时依赖