[−][src]Struct typenum::array::TArr
TArr is a type that acts as an array of types. It is defined similarly to UInt, only its
values can be more than bits, and it is designed to act as an array. So you can only add two if
they have the same number of elements, for example.
This array is only really designed to contain Integer types. If you use it with others, you
may find it lacking functionality.
Trait Implementations
impl<Al, Vl, Ar, Vr> Add<TArr<Vr, Ar>> for TArr<Vl, Al> where
Al: Add<Ar>,
Vl: Add<Vr>, [src]
Al: Add<Ar>,
Vl: Add<Vr>,
type Output = TArr<Sum<Vl, Vr>, Sum<Al, Ar>>
The resulting type after applying the + operator.
pub fn add(self, rhs: TArr<Vr, Ar>) -> Self::Output[src]
impl<V: Clone, A: Clone> Clone for TArr<V, A>[src]
pub fn clone(&self) -> TArr<V, A>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<V: Copy, A: Copy> Copy for TArr<V, A>[src]
impl<V: Debug, A: Debug> Debug for TArr<V, A>[src]
impl<V, A, Rhs> Div<Rhs> for TArr<V, A> where
V: Div<Rhs>,
A: Div<Rhs>,
Rhs: Copy, [src]
V: Div<Rhs>,
A: Div<Rhs>,
Rhs: Copy,
type Output = TArr<Quot<V, Rhs>, Quot<A, Rhs>>
The resulting type after applying the / operator.
pub fn div(self, rhs: Rhs) -> Self::Output[src]
impl<V: Eq, A: Eq> Eq for TArr<V, A>[src]
impl<V: Hash, A: Hash> Hash for TArr<V, A>[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<V, A> Len for TArr<V, A> where
A: Len,
Length<A>: Add<B1>,
Sum<Length<A>, B1>: Unsigned, [src]
A: Len,
Length<A>: Add<B1>,
Sum<Length<A>, B1>: Unsigned,
Size of a TypeArray
type Output = Add1<Length<A>>
The length as a type-level unsigned integer.
pub fn len(&self) -> Self::Output[src]
impl<V, A, Rhs> Mul<Rhs> for TArr<V, A> where
V: Mul<Rhs>,
A: Mul<Rhs>,
Rhs: Copy, [src]
V: Mul<Rhs>,
A: Mul<Rhs>,
Rhs: Copy,
type Output = TArr<Prod<V, Rhs>, Prod<A, Rhs>>
The resulting type after applying the * operator.
pub fn mul(self, rhs: Rhs) -> Self::Output[src]
impl<V, A> Mul<TArr<V, A>> for Z0 where
Z0: Mul<A>, [src]
Z0: Mul<A>,
type Output = TArr<Z0, Prod<Z0, A>>
The resulting type after applying the * operator.
pub fn mul(self, rhs: TArr<V, A>) -> Self::Output[src]
impl<V, A, U> Mul<TArr<V, A>> for PInt<U> where
U: Unsigned + NonZero,
PInt<U>: Mul<A> + Mul<V>, [src]
U: Unsigned + NonZero,
PInt<U>: Mul<A> + Mul<V>,
type Output = TArr<Prod<PInt<U>, V>, Prod<PInt<U>, A>>
The resulting type after applying the * operator.
pub fn mul(self, rhs: TArr<V, A>) -> Self::Output[src]
impl<V, A, U> Mul<TArr<V, A>> for NInt<U> where
U: Unsigned + NonZero,
NInt<U>: Mul<A> + Mul<V>, [src]
U: Unsigned + NonZero,
NInt<U>: Mul<A> + Mul<V>,
type Output = TArr<Prod<NInt<U>, V>, Prod<NInt<U>, A>>
The resulting type after applying the * operator.
pub fn mul(self, rhs: TArr<V, A>) -> Self::Output[src]
impl<V, A> Neg for TArr<V, A> where
V: Neg,
A: Neg, [src]
V: Neg,
A: Neg,
type Output = TArr<Negate<V>, Negate<A>>
The resulting type after applying the - operator.
pub fn neg(self) -> Self::Output[src]
impl<V: Ord, A: Ord> Ord for TArr<V, A>[src]
pub fn cmp(&self, other: &TArr<V, A>) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
impl<V, A, Rhs> PartialDiv<Rhs> for TArr<V, A> where
V: PartialDiv<Rhs>,
A: PartialDiv<Rhs>,
Rhs: Copy, [src]
V: PartialDiv<Rhs>,
A: PartialDiv<Rhs>,
Rhs: Copy,
type Output = TArr<PartialQuot<V, Rhs>, PartialQuot<A, Rhs>>
The type of the result of the division
pub fn partial_div(self, rhs: Rhs) -> Self::Output[src]
impl<V: PartialEq, A: PartialEq> PartialEq<TArr<V, A>> for TArr<V, A>[src]
impl<V: PartialOrd, A: PartialOrd> PartialOrd<TArr<V, A>> for TArr<V, A>[src]
pub fn partial_cmp(&self, other: &TArr<V, A>) -> Option<Ordering>[src]
pub fn lt(&self, other: &TArr<V, A>) -> bool[src]
pub fn le(&self, other: &TArr<V, A>) -> bool[src]
pub fn gt(&self, other: &TArr<V, A>) -> bool[src]
pub fn ge(&self, other: &TArr<V, A>) -> bool[src]
impl<V, A, Rhs> Rem<Rhs> for TArr<V, A> where
V: Rem<Rhs>,
A: Rem<Rhs>,
Rhs: Copy, [src]
V: Rem<Rhs>,
A: Rem<Rhs>,
Rhs: Copy,
type Output = TArr<Mod<V, Rhs>, Mod<A, Rhs>>
The resulting type after applying the % operator.
pub fn rem(self, rhs: Rhs) -> Self::Output[src]
impl<V, A> StructuralEq for TArr<V, A>[src]
impl<V, A> StructuralPartialEq for TArr<V, A>[src]
impl<Vl, Al, Vr, Ar> Sub<TArr<Vr, Ar>> for TArr<Vl, Al> where
Vl: Sub<Vr>,
Al: Sub<Ar>, [src]
Vl: Sub<Vr>,
Al: Sub<Ar>,
type Output = TArr<Diff<Vl, Vr>, Diff<Al, Ar>>
The resulting type after applying the - operator.
pub fn sub(self, rhs: TArr<Vr, Ar>) -> Self::Output[src]
impl<V, A> TypeArray for TArr<V, A>[src]
Auto Trait Implementations
impl<V, A> Send for TArr<V, A> where
A: Send,
V: Send,
A: Send,
V: Send,
impl<V, A> Sync for TArr<V, A> where
A: Sync,
V: Sync,
A: Sync,
V: Sync,
impl<V, A> Unpin for TArr<V, A> where
A: Unpin,
V: Unpin,
A: Unpin,
V: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,