Struct na::ArrayStorage[][src]

#[repr(C)]
pub struct ArrayStorage<N, R, C> where
    C: DimName,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
{ /* fields omitted */ }

A array-based statically sized matrix data storage.

Methods from Deref<Target = GenericArray<N, <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output>>

pub fn as_slice(&self) -> &[T]

Notable traits for &'_ mut [u8]

impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
[src]

Extracts a slice containing the entire array.

pub fn as_mut_slice(&mut self) -> &mut [T]

Notable traits for &'_ mut [u8]

impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
[src]

Extracts a mutable slice containing the entire array.

Trait Implementations

impl<N, R, C> Clone for ArrayStorage<N, R, C> where
    C: DimName,
    N: Clone,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R, C> Debug for ArrayStorage<N, R, C> where
    C: DimName,
    N: Debug,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R, C> Default for ArrayStorage<N, R, C> where
    C: DimName,
    N: Default,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R, C> Deref for ArrayStorage<N, R, C> where
    C: DimName,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

type Target = GenericArray<N, <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output>

The resulting type after dereferencing.

impl<N, R, C> DerefMut for ArrayStorage<N, R, C> where
    C: DimName,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<'a, N, R, C> Deserialize<'a> for ArrayStorage<N, R, C> where
    C: DimName,
    N: Scalar + Deserialize<'a>,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R, C> Hash for ArrayStorage<N, R, C> where
    C: DimName,
    N: Hash,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R, C> PartialEq<ArrayStorage<N, R, C>> for ArrayStorage<N, R, C> where
    C: DimName,
    N: PartialEq<N>,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R1, C1, R2, C2> ReshapableStorage<N, R1, C1, R2, C2> for ArrayStorage<N, R1, C1> where
    N: Scalar,
    R1: DimName,
    C1: DimName,
    R2: DimName,
    C2: DimName,
    <R1 as DimName>::Value: Mul<<C1 as DimName>::Value>,
    <<R1 as DimName>::Value as Mul<<C1 as DimName>::Value>>::Output: ArrayLength<N>,
    <R2 as DimName>::Value: Mul<<C2 as DimName>::Value>,
    <<R2 as DimName>::Value as Mul<<C2 as DimName>::Value>>::Output: ArrayLength<N>,
    <<R2 as DimName>::Value as Mul<<C2 as DimName>::Value>>::Output == <<R1 as DimName>::Value as Mul<<C1 as DimName>::Value>>::Output
[src]

type Output = ArrayStorage<N, R2, C2>

The reshaped storage type.

impl<N, R, C> Serialize for ArrayStorage<N, R, C> where
    C: DimName,
    N: Scalar + Serialize,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

impl<N, R, C> Storage<N, R, C> for ArrayStorage<N, R, C> where
    C: DimName,
    N: Scalar,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>,
    DefaultAllocator: Allocator<N, R, C>,
    <DefaultAllocator as Allocator<N, R, C>>::Buffer == ArrayStorage<N, R, C>, 
[src]

type RStride = U1

The static stride of this storage’s rows.

type CStride = R

The static stride of this storage’s columns.

impl<N, R, C> StorageMut<N, R, C> for ArrayStorage<N, R, C> where
    C: DimName,
    N: Scalar,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>,
    DefaultAllocator: Allocator<N, R, C>,
    <DefaultAllocator as Allocator<N, R, C>>::Buffer == ArrayStorage<N, R, C>, 
[src]

impl<N, R, C> ContiguousStorage<N, R, C> for ArrayStorage<N, R, C> where
    C: DimName,
    N: Scalar,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>,
    DefaultAllocator: Allocator<N, R, C>,
    <DefaultAllocator as Allocator<N, R, C>>::Buffer == ArrayStorage<N, R, C>, 
[src]

impl<N, R, C> ContiguousStorageMut<N, R, C> for ArrayStorage<N, R, C> where
    C: DimName,
    N: Scalar,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>,
    DefaultAllocator: Allocator<N, R, C>,
    <DefaultAllocator as Allocator<N, R, C>>::Buffer == ArrayStorage<N, R, C>, 
[src]

impl<N, R, C> Copy for ArrayStorage<N, R, C> where
    C: DimName,
    N: Copy,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>,
    GenericArray<N, <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output>: Copy
[src]

impl<N, R, C> Eq for ArrayStorage<N, R, C> where
    C: DimName,
    N: Eq,
    R: DimName,
    <R as DimName>::Value: Mul<<C as DimName>::Value>,
    <<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output: ArrayLength<N>, 
[src]

Auto Trait Implementations

impl<N, R, C> RefUnwindSafe for ArrayStorage<N, R, C> where
    <<<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output as ArrayLength<N>>::ArrayType: RefUnwindSafe

impl<N, R, C> Send for ArrayStorage<N, R, C> where
    N: Send

impl<N, R, C> Sync for ArrayStorage<N, R, C> where
    N: Sync

impl<N, R, C> Unpin for ArrayStorage<N, R, C> where
    <<<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output as ArrayLength<N>>::ArrayType: Unpin

impl<N, R, C> UnwindSafe for ArrayStorage<N, R, C> where
    <<<R as DimName>::Value as Mul<<C as DimName>::Value>>::Output as ArrayLength<N>>::ArrayType: 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> IntoPnt<Point<T, U2>> for T where
    T: Scalar
[src]

impl<T> IntoPnt<Point<T, U3>> for T where
    T: Scalar
[src]

impl<T> IntoPnt<Point<T, U4>> for T where
    T: Scalar
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> JoinPnt<T, Point<T, U2>> for T where
    T: Scalar
[src]

type Output = Point<T, U3>

impl<T> JoinPnt<T, Point<T, U3>> for T where
    T: Scalar
[src]

type Output = Point<T, U4>

impl<T> JoinPnt<T, T> for T where
    T: Scalar
[src]

type Output = Point<T, U2>

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

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: Copy + PartialEq<T> + Debug + Any
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]