我正在开发一些软件,我在其中管理一个浮动缓冲区,Vec<T>
其中T
是 anf32
或f64
. 我有时需要将此缓冲区或其中的部分解释为数学向量。为此,我正在MatrixSlice
和朋友们在nalgebra
.
我可以创建一个DVectorSliceMut
,例如,以下方式
fn as_vector<'a>(slice: &'a mut [f64]) -> DVectorSliceMut<'a, f64> {
DVectorSliceMut::from(slice)
}
但是,有时我需要稍后从DVectorSliceMut
具有原始生命周期的 中提取原始切片'a
。有没有办法做到这一点?
StorageMut
trait 有一个as_mut_slice
成员函数,但返回切片的生命周期是对Storage
实现者的引用的生命周期,而不是原始切片的生命周期。DVectorSliceMut
我可以接受必要时消耗的解决方案。
更新:从v0.28.0开始,方法into_slice
和into_slice_mut
已分别添加到SliceStorage
和SliceStorageMut
特征中。nalgebra