[][src]Struct na::ArrayStorage

#[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]

Extracts a slice containing the entire array.

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

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> 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> 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> 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<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]

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, 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]

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> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[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>,