Struct numeric_array::NumericConstant
[−]
[src]
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<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]
T: Pow<U>,
N: ArrayLength<<T as Pow<U>>::Output>,
type Output = NumericArray<<T as Pow<U>>::Output, N>
The result after applying the operator.
fn pow(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Returns self
to the power rhs
. Read more
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]
T: Pow<U>,
N: ArrayLength<<T as Pow<U>>::Output>,
type Output = NumericArray<<T as Pow<U>>::Output, N>
The result after applying the operator.
fn pow(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Returns self
to the power rhs
. Read more
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]
T: Add<U>,
N: ArrayLength<<T as Add<U>>::Output>,
type Output = NumericArray<<T as Add<U>>::Output, N>
The resulting type after applying the +
operator.
fn add(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the +
operation.
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]
T: Add<U>,
N: ArrayLength<<T as Add<U>>::Output>,
type Output = NumericArray<<T as Add<U>>::Output, N>
The resulting type after applying the +
operator.
fn add(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the +
operation.
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]
T: Sub<U>,
N: ArrayLength<<T as Sub<U>>::Output>,
type Output = NumericArray<<T as Sub<U>>::Output, N>
The resulting type after applying the -
operator.
fn sub(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the -
operation.
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]
T: Sub<U>,
N: ArrayLength<<T as Sub<U>>::Output>,
type Output = NumericArray<<T as Sub<U>>::Output, N>
The resulting type after applying the -
operator.
fn sub(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the -
operation.
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]
T: Mul<U>,
N: ArrayLength<<T as Mul<U>>::Output>,
type Output = NumericArray<<T as Mul<U>>::Output, N>
The resulting type after applying the *
operator.
fn mul(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the *
operation.
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]
T: Mul<U>,
N: ArrayLength<<T as Mul<U>>::Output>,
type Output = NumericArray<<T as Mul<U>>::Output, N>
The resulting type after applying the *
operator.
fn mul(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the *
operation.
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]
T: Div<U>,
N: ArrayLength<<T as Div<U>>::Output>,
type Output = NumericArray<<T as Div<U>>::Output, N>
The resulting type after applying the /
operator.
fn div(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the /
operation.
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]
T: Div<U>,
N: ArrayLength<<T as Div<U>>::Output>,
type Output = NumericArray<<T as Div<U>>::Output, N>
The resulting type after applying the /
operator.
fn div(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the /
operation.
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]
T: Rem<U>,
N: ArrayLength<<T as Rem<U>>::Output>,
type Output = NumericArray<<T as Rem<U>>::Output, N>
The resulting type after applying the %
operator.
fn rem(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the %
operation.
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]
T: Rem<U>,
N: ArrayLength<<T as Rem<U>>::Output>,
type Output = NumericArray<<T as Rem<U>>::Output, N>
The resulting type after applying the %
operator.
fn rem(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the %
operation.
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]
T: BitAnd<U>,
N: ArrayLength<<T as BitAnd<U>>::Output>,
type Output = NumericArray<<T as BitAnd<U>>::Output, N>
The resulting type after applying the &
operator.
fn bitand(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the &
operation.
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]
T: BitAnd<U>,
N: ArrayLength<<T as BitAnd<U>>::Output>,
type Output = NumericArray<<T as BitAnd<U>>::Output, N>
The resulting type after applying the &
operator.
fn bitand(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the &
operation.
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]
T: BitOr<U>,
N: ArrayLength<<T as BitOr<U>>::Output>,
type Output = NumericArray<<T as BitOr<U>>::Output, N>
The resulting type after applying the |
operator.
fn bitor(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the |
operation.
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]
T: BitOr<U>,
N: ArrayLength<<T as BitOr<U>>::Output>,
type Output = NumericArray<<T as BitOr<U>>::Output, N>
The resulting type after applying the |
operator.
fn bitor(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the |
operation.
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]
T: BitXor<U>,
N: ArrayLength<<T as BitXor<U>>::Output>,
type Output = NumericArray<<T as BitXor<U>>::Output, N>
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the ^
operation.
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]
T: BitXor<U>,
N: ArrayLength<<T as BitXor<U>>::Output>,
type Output = NumericArray<<T as BitXor<U>>::Output, N>
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the ^
operation.
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]
T: Shr<U>,
N: ArrayLength<<T as Shr<U>>::Output>,
type Output = NumericArray<<T as Shr<U>>::Output, N>
The resulting type after applying the >>
operator.
fn shr(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the >>
operation.
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]
T: Shr<U>,
N: ArrayLength<<T as Shr<U>>::Output>,
type Output = NumericArray<<T as Shr<U>>::Output, N>
The resulting type after applying the >>
operator.
fn shr(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the >>
operation.
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]
T: Shl<U>,
N: ArrayLength<<T as Shl<U>>::Output>,
type Output = NumericArray<<T as Shl<U>>::Output, N>
The resulting type after applying the <<
operator.
fn shl(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the <<
operation.
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]
T: Shl<U>,
N: ArrayLength<<T as Shl<U>>::Output>,
type Output = NumericArray<<T as Shl<U>>::Output, N>
The resulting type after applying the <<
operator.
fn shl(self, rhs: NumericConstant<U>) -> Self::Output
[src]
Performs the <<
operation.
impl<T, U: Clone, N: ArrayLength<T>> AddAssign<NumericConstant<U>> for NumericArray<T, N> where
T: AddAssign<U>,
[src]
T: AddAssign<U>,
fn add_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the +=
operation.
impl<T, U: Clone, N: ArrayLength<T>> SubAssign<NumericConstant<U>> for NumericArray<T, N> where
T: SubAssign<U>,
[src]
T: SubAssign<U>,
fn sub_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the -=
operation.
impl<T, U: Clone, N: ArrayLength<T>> MulAssign<NumericConstant<U>> for NumericArray<T, N> where
T: MulAssign<U>,
[src]
T: MulAssign<U>,
fn mul_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the *=
operation.
impl<T, U: Clone, N: ArrayLength<T>> DivAssign<NumericConstant<U>> for NumericArray<T, N> where
T: DivAssign<U>,
[src]
T: DivAssign<U>,
fn div_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the /=
operation.
impl<T, U: Clone, N: ArrayLength<T>> RemAssign<NumericConstant<U>> for NumericArray<T, N> where
T: RemAssign<U>,
[src]
T: RemAssign<U>,
fn rem_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the %=
operation.
impl<T, U: Clone, N: ArrayLength<T>> BitAndAssign<NumericConstant<U>> for NumericArray<T, N> where
T: BitAndAssign<U>,
[src]
T: BitAndAssign<U>,
fn bitand_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the &=
operation.
impl<T, U: Clone, N: ArrayLength<T>> BitOrAssign<NumericConstant<U>> for NumericArray<T, N> where
T: BitOrAssign<U>,
[src]
T: BitOrAssign<U>,
fn bitor_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the |=
operation.
impl<T, U: Clone, N: ArrayLength<T>> BitXorAssign<NumericConstant<U>> for NumericArray<T, N> where
T: BitXorAssign<U>,
[src]
T: BitXorAssign<U>,
fn bitxor_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the ^=
operation.
impl<T, U: Clone, N: ArrayLength<T>> ShrAssign<NumericConstant<U>> for NumericArray<T, N> where
T: ShrAssign<U>,
[src]
T: ShrAssign<U>,
fn shr_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the >>=
operation.
impl<T, U: Clone, N: ArrayLength<T>> ShlAssign<NumericConstant<U>> for NumericArray<T, N> where
T: ShlAssign<U>,
[src]
T: ShlAssign<U>,
fn shl_assign(&mut self, rhs: NumericConstant<U>)
[src]
Performs the <<=
operation.
impl<T: Debug> Debug for NumericConstant<T>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: Clone> Clone for NumericConstant<T>
[src]
fn clone(&self) -> NumericConstant<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Copy> Copy for NumericConstant<T>
[src]
impl<T> Deref for NumericConstant<T>
[src]
type Target = T
The resulting type after dereferencing.
fn deref(&self) -> &T
[src]
Dereferences the value.
impl<T> DerefMut for NumericConstant<T>
[src]
Auto Trait Implementations
impl<T> Send for NumericConstant<T> where
T: Send,
T: Send,
impl<T> Sync for NumericConstant<T> where
T: Sync,
T: Sync,