Trait beagle::scalar_array::ScalarArray
[−]
[src]
pub trait ScalarArray where
<Self::Row as HasSmaller>::Smaller: Array<Self::Scalar>,
<Self::Dim as HasSmaller>::Smaller: Array<<Self::Row as Array<Self::Scalar>>::Type>, { type Scalar; type Row: Dim<Self::Scalar>; type Dim: TwoDim<Self::Scalar, Self::Row>; }
Types that represent a 2d array of scalars (a matrix or a vector).
Associated Types
type Scalar
The type of the underlying scalar in the array.
type Row: Dim<Self::Scalar>
The type of a single element of this type (a single row for matrices/a scalar for vectors).
type Dim: TwoDim<Self::Scalar, Self::Row>
The dimension of the scalar array.
Implementors
impl<'a, S, D, I0, I1> ScalarArray for &'a Vec2Ref<D, S, I0, I1> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
D::Smaller: Array<S>,impl<'a, S, D, I0, I1> ScalarArray for &'a mut Vec2Ref<D, S, I0, I1> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
D::Smaller: Array<S>,impl<'a, S, D, I0, I1, I2> ScalarArray for &'a Vec3Ref<D, S, I0, I1, I2> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
D::Smaller: Array<S>,impl<'a, S, D, I0, I1, I2> ScalarArray for &'a mut Vec3Ref<D, S, I0, I1, I2> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
D::Smaller: Array<S>,impl<'a, S, D, I0, I1, I2, I3> ScalarArray for &'a Vec4Ref<D, S, I0, I1, I2, I3> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2> + IsLargerThan<I3>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
I3: IsSmallerThan<D>,
D::Smaller: Array<S>,impl<'a, S, D, I0, I1, I2, I3> ScalarArray for &'a mut Vec4Ref<D, S, I0, I1, I2, I3> where
D: Dim<S> + IsLargerThan<I0> + IsLargerThan<I1> + IsLargerThan<I2> + IsLargerThan<I3>,
I0: IsSmallerThan<D>,
I1: IsSmallerThan<D>,
I2: IsSmallerThan<D>,
I3: IsSmallerThan<D>,
D::Smaller: Array<S>,impl<S, C: Dim<S>, R: TwoDim<S, C>> ScalarArray for Mat<R, C, S> where
C::Smaller: Array<S>,
R::Smaller: Array<<C as Array<S>>::Type>,impl<S, D: Dim<S>> ScalarArray for Vec<D, S> where
D::Smaller: Array<S>,