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,