nalgebra::base::storage

Trait Storage

Source
pub unsafe trait Storage<T, R: Dim, C: Dim = U1>: RawStorage<T, R, C> {
    // Required methods
    fn into_owned(self) -> Owned<T, R, C>
       where DefaultAllocator: Allocator<T, R, C>;
    fn clone_owned(&self) -> Owned<T, R, C>
       where DefaultAllocator: Allocator<T, R, C>;
}
Expand description

Trait shared by all matrix data storage that don’t contain any uninitialized elements.

Required Methods§

Source

fn into_owned(self) -> Owned<T, R, C>
where DefaultAllocator: Allocator<T, R, C>,

Builds a matrix data storage that does not contain any reference.

Source

fn clone_owned(&self) -> Owned<T, R, C>
where DefaultAllocator: Allocator<T, R, C>,

Clones this data storage to one that does not contain any reference.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, T: Scalar, R: Dim, C: Dim, RStride: Dim, CStride: Dim> Storage<T, R, C> for SliceStorage<'a, T, R, C, RStride, CStride>

Source§

impl<'a, T: Scalar, R: Dim, C: Dim, RStride: Dim, CStride: Dim> Storage<T, R, C> for SliceStorageMut<'a, T, R, C, RStride, CStride>

Source§

impl<T: Scalar, C: Dim> Storage<T, Dynamic, C> for VecStorage<T, Dynamic, C>
where DefaultAllocator: Allocator<T, Dynamic, C, Buffer = Self>,

Source§

impl<T: Scalar, R: DimName> Storage<T, R, Dynamic> for VecStorage<T, R, Dynamic>
where DefaultAllocator: Allocator<T, R, Dynamic, Buffer = Self>,

Source§

impl<T: Scalar, const R: usize, const C: usize> Storage<T, Const<R>, Const<C>> for ArrayStorage<T, R, C>
where DefaultAllocator: Allocator<T, Const<R>, Const<C>, Buffer = Self>,