Trait Permutation

Source
pub trait Permutation {
    type Shape<S: Shape>: Shape;
    type Layout<L: Layout>: Layout;
}
Expand description

Array permutation trait, for array types after permutation of dimensions.

Required Associated Types§

Source

type Shape<S: Shape>: Shape

Shape after permuting dimensions.

Source

type Layout<L: Layout>: Layout

Layout after permuting dimensions.

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.

Implementations on Foreign Types§

Source§

impl<X: Axis> Permutation for (X,)

Source§

type Shape<S: Shape> = (<X as Axis>::Dim<S>,)

Source§

type Layout<L: Layout> = L

Source§

impl<X: Axis, Y: Axis> Permutation for (X, Y)

Source§

type Shape<S: Shape> = <<(Y,) as Permutation>::Shape<S> as Shape>::Prepend<<X as Axis>::Dim<S>>

Source§

type Layout<L: Layout> = <<(X, Y) as Permutation>::Init as Shape>::Layout<L>

Source§

impl<X: Axis, Y: Axis, Z: Axis> Permutation for (X, Y, Z)

Source§

type Shape<S: Shape> = <<(Y, Z) as Permutation>::Shape<S> as Shape>::Prepend<<X as Axis>::Dim<S>>

Source§

type Layout<L: Layout> = <<(X, Y, Z) as Permutation>::Init as Shape>::Layout<L>

Source§

impl<X: Axis, Y: Axis, Z: Axis, W: Axis> Permutation for (X, Y, Z, W)

Source§

impl<X: Axis, Y: Axis, Z: Axis, W: Axis, U: Axis> Permutation for (X, Y, Z, W, U)

Source§

impl<X: Axis, Y: Axis, Z: Axis, W: Axis, U: Axis, V: Axis> Permutation for (X, Y, Z, W, U, V)

Implementors§