Struct nalgebra::base::ArrayStorage[][src]

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

A array-based statically sized matrix data storage.

Methods from Deref<Target = GenericArray<N, Prod<R::Value, C::Value>>>

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

Extracts a slice containing the entire array.

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

Extracts a mutable slice containing the entire array.

Trait Implementations

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

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

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

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

type Target = GenericArray<N, Prod<R::Value, C::Value>>

The resulting type after dereferencing.

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

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

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

impl<N, R, C> PartialEq<ArrayStorage<N, R, C>> for ArrayStorage<N, R, C> where
    N: PartialEq,
    R: DimName,
    C: DimName,
    R::Value: Mul<C::Value>,
    Prod<R::Value, C::Value>: 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,
    R1::Value: Mul<C1::Value>,
    Prod<R1::Value, C1::Value>: ArrayLength<N>,
    R2: DimName,
    C2: DimName,
    R2::Value: Mul<C2::Value, Output = Prod<R1::Value, C1::Value>>,
    Prod<R2::Value, C2::Value>: ArrayLength<N>, 
[src]

type Output = ArrayStorage<N, R2, C2>

The reshaped storage type.

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

impl<N, R, C> Storage<N, R, C> for ArrayStorage<N, R, C> where
    N: Scalar,
    R: DimName,
    C: DimName,
    R::Value: Mul<C::Value>,
    Prod<R::Value, C::Value>: ArrayLength<N>,
    DefaultAllocator: Allocator<N, R, C, Buffer = Self>, 
[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
    N: Scalar,
    R: DimName,
    C: DimName,
    R::Value: Mul<C::Value>,
    Prod<R::Value, C::Value>: ArrayLength<N>,
    DefaultAllocator: Allocator<N, R, C, Buffer = Self>, 
[src]

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

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

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

impl<N, R, C> Eq for ArrayStorage<N, R, C> where
    N: Eq,
    R: DimName,
    C: DimName,
    R::Value: Mul<C::Value>,
    Prod<R::Value, C::Value>: 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> Same<T> for T[src]

type Output = T

Should always be Self

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]