[][src]Struct numeric_array::NumericConstant

#[repr(transparent)]pub struct NumericConstant<T>(pub T);

This is required to allow NumericArray to be operated on by both other NumericArray instances and constants, with generic types, because some type U supercedes NumericArray<U, N>

As a result, constants must be wrapped in this totally transparent wrapper type to differentiate the types to Rust.

Trait Implementations

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Add<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Add<T>,
    N: ArrayLength<<U as Add<T>>::Output>, 
[src]

type Output = NumericArray<<U as Add<T>>::Output, N>

The resulting type after applying the + operator.

impl<T, U: Clone, N: ArrayLength<T>> Add<NumericArray<T, N>> for NumericConstant<U> where
    U: Add<T>,
    N: ArrayLength<<U as Add<T>>::Output>, 
[src]

type Output = NumericArray<<U as Add<T>>::Output, N>

The resulting type after applying the + operator.

impl<T, U: Clone, N: ArrayLength<T>> Add<NumericConstant<U>> for NumericArray<T, N> where
    T: Add<U>,
    N: ArrayLength<<T as Add<U>>::Output>, 
[src]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Add<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Add<U>,
    N: ArrayLength<<T as Add<U>>::Output>, 
[src]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

impl<T, U: Clone, N: ArrayLength<T>> AddAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: AddAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitAnd<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: BitAnd<T>,
    N: ArrayLength<<U as BitAnd<T>>::Output>, 
[src]

type Output = NumericArray<<U as BitAnd<T>>::Output, N>

The resulting type after applying the & operator.

impl<T, U: Clone, N: ArrayLength<T>> BitAnd<NumericArray<T, N>> for NumericConstant<U> where
    U: BitAnd<T>,
    N: ArrayLength<<U as BitAnd<T>>::Output>, 
[src]

type Output = NumericArray<<U as BitAnd<T>>::Output, N>

The resulting type after applying the & operator.

impl<T, U: Clone, N: ArrayLength<T>> BitAnd<NumericConstant<U>> for NumericArray<T, N> where
    T: BitAnd<U>,
    N: ArrayLength<<T as BitAnd<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitAnd<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: BitAnd<U>,
    N: ArrayLength<<T as BitAnd<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

impl<T, U: Clone, N: ArrayLength<T>> BitAndAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: BitAndAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitOr<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: BitOr<T>,
    N: ArrayLength<<U as BitOr<T>>::Output>, 
[src]

type Output = NumericArray<<U as BitOr<T>>::Output, N>

The resulting type after applying the | operator.

impl<T, U: Clone, N: ArrayLength<T>> BitOr<NumericArray<T, N>> for NumericConstant<U> where
    U: BitOr<T>,
    N: ArrayLength<<U as BitOr<T>>::Output>, 
[src]

type Output = NumericArray<<U as BitOr<T>>::Output, N>

The resulting type after applying the | operator.

impl<T, U: Clone, N: ArrayLength<T>> BitOr<NumericConstant<U>> for NumericArray<T, N> where
    T: BitOr<U>,
    N: ArrayLength<<T as BitOr<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitOr<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: BitOr<U>,
    N: ArrayLength<<T as BitOr<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

impl<T, U: Clone, N: ArrayLength<T>> BitOrAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: BitOrAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitXor<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: BitXor<T>,
    N: ArrayLength<<U as BitXor<T>>::Output>, 
[src]

type Output = NumericArray<<U as BitXor<T>>::Output, N>

The resulting type after applying the ^ operator.

impl<T, U: Clone, N: ArrayLength<T>> BitXor<NumericArray<T, N>> for NumericConstant<U> where
    U: BitXor<T>,
    N: ArrayLength<<U as BitXor<T>>::Output>, 
[src]

type Output = NumericArray<<U as BitXor<T>>::Output, N>

The resulting type after applying the ^ operator.

impl<T, U: Clone, N: ArrayLength<T>> BitXor<NumericConstant<U>> for NumericArray<T, N> where
    T: BitXor<U>,
    N: ArrayLength<<T as BitXor<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitXor<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: BitXor<U>,
    N: ArrayLength<<T as BitXor<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

impl<T, U: Clone, N: ArrayLength<T>> BitXorAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: BitXorAssign<U>, 
[src]

impl<T: Clone> Clone for NumericConstant<T>[src]

impl<T: Copy> Copy for NumericConstant<T>[src]

impl<T: Debug> Debug for NumericConstant<T>[src]

impl<T> Deref for NumericConstant<T>[src]

type Target = T

The resulting type after dereferencing.

impl<T> DerefMut for NumericConstant<T>[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Div<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Div<T>,
    N: ArrayLength<<U as Div<T>>::Output>, 
[src]

type Output = NumericArray<<U as Div<T>>::Output, N>

The resulting type after applying the / operator.

impl<T, U: Clone, N: ArrayLength<T>> Div<NumericArray<T, N>> for NumericConstant<U> where
    U: Div<T>,
    N: ArrayLength<<U as Div<T>>::Output>, 
[src]

type Output = NumericArray<<U as Div<T>>::Output, N>

The resulting type after applying the / operator.

impl<T, U: Clone, N: ArrayLength<T>> Div<NumericConstant<U>> for NumericArray<T, N> where
    T: Div<U>,
    N: ArrayLength<<T as Div<U>>::Output>, 
[src]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Div<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Div<U>,
    N: ArrayLength<<T as Div<U>>::Output>, 
[src]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

impl<T, U: Clone, N: ArrayLength<T>> DivAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: DivAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Mul<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Mul<T>,
    N: ArrayLength<<U as Mul<T>>::Output>, 
[src]

type Output = NumericArray<<U as Mul<T>>::Output, N>

The resulting type after applying the * operator.

impl<T, U: Clone, N: ArrayLength<T>> Mul<NumericArray<T, N>> for NumericConstant<U> where
    U: Mul<T>,
    N: ArrayLength<<U as Mul<T>>::Output>, 
[src]

type Output = NumericArray<<U as Mul<T>>::Output, N>

The resulting type after applying the * operator.

impl<T, U: Clone, N: ArrayLength<T>> Mul<NumericConstant<U>> for NumericArray<T, N> where
    T: Mul<U>,
    N: ArrayLength<<T as Mul<U>>::Output>, 
[src]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Mul<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Mul<U>,
    N: ArrayLength<<T as Mul<U>>::Output>, 
[src]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

impl<T, U: Clone, N: ArrayLength<T>> MulAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: MulAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Pow<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Pow<T>,
    N: ArrayLength<<U as Pow<T>>::Output>, 
[src]

type Output = NumericArray<<U as Pow<T>>::Output, N>

The result after applying the operator.

impl<T, U: Clone, N: ArrayLength<T>> Pow<NumericArray<T, N>> for NumericConstant<U> where
    U: Pow<T>,
    N: ArrayLength<<U as Pow<T>>::Output>, 
[src]

type Output = NumericArray<<U as Pow<T>>::Output, N>

The result after applying the operator.

impl<T, U: Clone, N: ArrayLength<T>> Pow<NumericConstant<U>> for NumericArray<T, N> where
    T: Pow<U>,
    N: ArrayLength<<T as Pow<U>>::Output>, 
[src]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Pow<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Pow<U>,
    N: ArrayLength<<T as Pow<U>>::Output>, 
[src]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Rem<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Rem<T>,
    N: ArrayLength<<U as Rem<T>>::Output>, 
[src]

type Output = NumericArray<<U as Rem<T>>::Output, N>

The resulting type after applying the % operator.

impl<T, U: Clone, N: ArrayLength<T>> Rem<NumericArray<T, N>> for NumericConstant<U> where
    U: Rem<T>,
    N: ArrayLength<<U as Rem<T>>::Output>, 
[src]

type Output = NumericArray<<U as Rem<T>>::Output, N>

The resulting type after applying the % operator.

impl<T, U: Clone, N: ArrayLength<T>> Rem<NumericConstant<U>> for NumericArray<T, N> where
    T: Rem<U>,
    N: ArrayLength<<T as Rem<U>>::Output>, 
[src]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Rem<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Rem<U>,
    N: ArrayLength<<T as Rem<U>>::Output>, 
[src]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

impl<T, U: Clone, N: ArrayLength<T>> RemAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: RemAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shl<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Shl<T>,
    N: ArrayLength<<U as Shl<T>>::Output>, 
[src]

type Output = NumericArray<<U as Shl<T>>::Output, N>

The resulting type after applying the << operator.

impl<T, U: Clone, N: ArrayLength<T>> Shl<NumericArray<T, N>> for NumericConstant<U> where
    U: Shl<T>,
    N: ArrayLength<<U as Shl<T>>::Output>, 
[src]

type Output = NumericArray<<U as Shl<T>>::Output, N>

The resulting type after applying the << operator.

impl<T, U: Clone, N: ArrayLength<T>> Shl<NumericConstant<U>> for NumericArray<T, N> where
    T: Shl<U>,
    N: ArrayLength<<T as Shl<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shl<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Shl<U>,
    N: ArrayLength<<T as Shl<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

impl<T, U: Clone, N: ArrayLength<T>> ShlAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: ShlAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shr<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Shr<T>,
    N: ArrayLength<<U as Shr<T>>::Output>, 
[src]

type Output = NumericArray<<U as Shr<T>>::Output, N>

The resulting type after applying the >> operator.

impl<T, U: Clone, N: ArrayLength<T>> Shr<NumericArray<T, N>> for NumericConstant<U> where
    U: Shr<T>,
    N: ArrayLength<<U as Shr<T>>::Output>, 
[src]

type Output = NumericArray<<U as Shr<T>>::Output, N>

The resulting type after applying the >> operator.

impl<T, U: Clone, N: ArrayLength<T>> Shr<NumericConstant<U>> for NumericArray<T, N> where
    T: Shr<U>,
    N: ArrayLength<<T as Shr<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shr<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Shr<U>,
    N: ArrayLength<<T as Shr<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

impl<T, U: Clone, N: ArrayLength<T>> ShrAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: ShrAssign<U>, 
[src]

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Sub<&'a NumericArray<T, N>> for NumericConstant<U> where
    U: Sub<T>,
    N: ArrayLength<<U as Sub<T>>::Output>, 
[src]

type Output = NumericArray<<U as Sub<T>>::Output, N>

The resulting type after applying the - operator.

impl<T, U: Clone, N: ArrayLength<T>> Sub<NumericArray<T, N>> for NumericConstant<U> where
    U: Sub<T>,
    N: ArrayLength<<U as Sub<T>>::Output>, 
[src]

type Output = NumericArray<<U as Sub<T>>::Output, N>

The resulting type after applying the - operator.

impl<T, U: Clone, N: ArrayLength<T>> Sub<NumericConstant<U>> for NumericArray<T, N> where
    T: Sub<U>,
    N: ArrayLength<<T as Sub<U>>::Output>, 
[src]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Sub<NumericConstant<U>> for &'a NumericArray<T, N> where
    T: Sub<U>,
    N: ArrayLength<<T as Sub<U>>::Output>, 
[src]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

impl<T, U: Clone, N: ArrayLength<T>> SubAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: SubAssign<U>, 
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for NumericConstant<T> where
    T: RefUnwindSafe

impl<T> Send for NumericConstant<T> where
    T: Send

impl<T> Sync for NumericConstant<T> where
    T: Sync

impl<T> Unpin for NumericConstant<T> where
    T: Unpin

impl<T> UnwindSafe for NumericConstant<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
    T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>, 
[src]

impl<T, Base> RefNum<Base> for T where
    T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.