pub trait ReshapableStorage<T, R1, C1, R2, C2>: RawStorage<T, R1, C1>where
    T: Scalar,
    R1: Dim,
    C1: Dim,
    R2: Dim,
    C2: Dim,{
    type Output: RawStorage<T, R2, C2>;

    // Required method
    fn reshape_generic(self, nrows: R2, ncols: C2) -> Self::Output;
}
Expand description

A matrix storage that can be reshaped in-place.

Required Associated Types§

source

type Output: RawStorage<T, R2, C2>

The reshaped storage type.

Required Methods§

source

fn reshape_generic(self, nrows: R2, ncols: C2) -> Self::Output

Reshapes the storage into the output storage type.

Implementors§

source§

impl<T, C1, C2> ReshapableStorage<T, Dynamic, C1, Dynamic, C2> for VecStorage<T, Dynamic, C1>where T: Scalar, C1: Dim, C2: Dim,

§

type Output = VecStorage<T, Dynamic, C2>

source§

impl<T, C1, R2> ReshapableStorage<T, Dynamic, C1, R2, Dynamic> for VecStorage<T, Dynamic, C1>where T: Scalar, C1: Dim, R2: DimName,

§

type Output = VecStorage<T, R2, Dynamic>

source§

impl<T, R1, C2> ReshapableStorage<T, R1, Dynamic, Dynamic, C2> for VecStorage<T, R1, Dynamic>where T: Scalar, R1: DimName, C2: Dim,

§

type Output = VecStorage<T, Dynamic, C2>

source§

impl<T, R1, R2> ReshapableStorage<T, R1, Dynamic, R2, Dynamic> for VecStorage<T, R1, Dynamic>where T: Scalar, R1: DimName, R2: DimName,

§

type Output = VecStorage<T, R2, Dynamic>

source§

impl<T, const R1: usize, const C1: usize, const R2: usize, const C2: usize> ReshapableStorage<T, Const<R1>, Const<C1>, Const<R2>, Const<C2>> for ArrayStorage<T, R1, C1>where T: Scalar, Const<R1>: ToTypenum, Const<C1>: ToTypenum, Const<R2>: ToTypenum, Const<C2>: ToTypenum, <Const<R1> as ToTypenum>::Typenum: Mul<<Const<C1> as ToTypenum>::Typenum>, <Const<R2> as ToTypenum>::Typenum: Mul<<Const<C2> as ToTypenum>::Typenum, Output = <<Const<R1> as ToTypenum>::Typenum as Mul<<Const<C1> as ToTypenum>::Typenum>>::Output>,

§

type Output = ArrayStorage<T, R2, C2>