Trait beagle::scalar_array::HasConcreteScalarArray
[−]
[src]
pub trait HasConcreteScalarArray<S, R = Self::Row, D = Self::Dim>: ScalarArray where
R: Dim<S>,
D: TwoDim<S, R>,
<Self::Row as HasSmaller>::Smaller: Array<Self::Scalar>,
<Self::Dim as HasSmaller>::Smaller: Array<<Self::Row as Array<Self::Scalar>>::Type>,
<R as HasSmaller>::Smaller: Array<S>,
<D as HasSmaller>::Smaller: Array<<R as Array<S>>::Type>, { type Concrete: ConcreteScalarArray<Scalar = S, Row = R, Dim = D>; }
Matrix/Vector types that have an associated constructable type
Associated Types
type Concrete: ConcreteScalarArray<Scalar = S, Row = R, Dim = D>
The type of a concrete ScalarArray of the specified type
Implementors
impl<'a, S, T, D, D2, I0, I1> HasConcreteScalarArray<T, D2> for &'a Vec2Ref<D, S, I0, I1> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1>,
D2: Dim<T>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
D::Smaller: Array<S>,
D2::Smaller: Array<T>,impl<'a, S, T, D, D2, I0, I1> HasConcreteScalarArray<T, D2> for &'a mut Vec2Ref<D, S, I0, I1> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1>,
D2: Dim<T>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
D::Smaller: Array<S>,
D2::Smaller: Array<T>,impl<'a, S, T, D, D2, I0, I1, I2> HasConcreteScalarArray<T, D2> for &'a Vec3Ref<D, S, I0, I1, I2> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2>,
D2: Dim<T>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
D::Smaller: Array<S>,
D2::Smaller: Array<T>,impl<'a, S, T, D, D2, I0, I1, I2> HasConcreteScalarArray<T, D2> for &'a mut Vec3Ref<D, S, I0, I1, I2> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2>,
D2: Dim<T>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
D::Smaller: Array<S>,
D2::Smaller: Array<T>,impl<'a, S, T, D, D2, I0, I1, I2, I3> HasConcreteScalarArray<T, D2> for &'a Vec4Ref<D, S, I0, I1, I2, I3> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2> + IsLargerThan<I3>,
D2: Dim<T>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
I3: IsSmallerThan<D>,
D::Smaller: Array<S>,
D2::Smaller: Array<T>,impl<'a, S, T, D, D2, I0, I1, I2, I3> HasConcreteScalarArray<T, D2> for &'a mut Vec4Ref<D, S, I0, I1, I2, I3> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2> + IsLargerThan<I3>,
D2: Dim<T>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
I3: IsSmallerThan<D>,
D::Smaller: Array<S>,
D2::Smaller: Array<T>,impl<S, T, C: Dim<S>, C2: Dim<T>, R: TwoDim<S, C>, R2: TwoDim<T, C2>> HasConcreteScalarArray<T, C2, R2> for Mat<R, C, S> where
C::Smaller: Array<S>,
C2::Smaller: Array<T>,
R::Smaller: Array<<C as Array<S>>::Type>,
R2::Smaller: Array<<C2 as Array<T>>::Type>,impl<S, T, D: Dim<S>, D2: Dim<T>> HasConcreteScalarArray<T, D2> for Vec<D, S> where
D::Smaller: Array<S>,
D2::Smaller: Array<T>,