Skip to main content

Ops

Trait Ops 

Source
pub trait Ops:
    Vector
    + AsRef<[<Self as Vector>::Scalar]>
    + AsMut<[<Self as Vector>::Scalar]>
    + Deref<Target = [<Self as Vector>::Scalar]>
    + DerefMut
    + Add<Self, Output = Self>
    + Add<<Self as Vector>::Scalar, Output = Self>
    + AddAssign<Self>
    + AddAssign<<Self as Vector>::Scalar>
    + Sub<Self, Output = Self>
    + Sub<<Self as Vector>::Scalar, Output = Self>
    + SubAssign<Self>
    + SubAssign<<Self as Vector>::Scalar>
    + Mul<Self, Output = Self>
    + Mul<<Self as Vector>::Scalar, Output = Self>
    + MulAssign<Self>
    + MulAssign<<Self as Vector>::Scalar>
    + Div<Self, Output = Self>
    + Div<<Self as Vector>::Scalar, Output = Self>
    + DivAssign<Self>
    + DivAssign<<Self as Vector>::Scalar> { }
Expand description

A supertrait for vectors supporting typical arithmetic operations.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<V> Ops for V
where V: Vector + AsRef<[<V as Vector>::Scalar]> + AsMut<[<V as Vector>::Scalar]> + Deref<Target = [<V as Vector>::Scalar]> + DerefMut + Add<V, Output = V> + Add<<V as Vector>::Scalar, Output = V> + AddAssign<V> + AddAssign<<V as Vector>::Scalar> + Sub<V, Output = V> + Sub<<V as Vector>::Scalar, Output = V> + SubAssign<V> + SubAssign<<V as Vector>::Scalar> + Mul<V, Output = V> + Mul<<V as Vector>::Scalar, Output = V> + MulAssign<V> + MulAssign<<V as Vector>::Scalar> + Div<V, Output = V> + Div<<V as Vector>::Scalar, Output = V> + DivAssign<V> + DivAssign<<V as Vector>::Scalar>,