[][src]Struct na::base::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>>

Important traits for &'_ [u8]
pub fn as_slice(&self) -> &[T]

Extracts a slice containing the entire array.

Important traits for &'_ [u8]
pub fn as_mut_slice(&mut self) -> &mut [T]

Extracts a mutable slice containing the entire array.

Trait Implementations

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]

unsafe default fn get_address_unchecked_linear_mut(
    &mut self,
    i: usize
) -> *mut N
[src]

Gets the mutable address of the i-th matrix component without performing bound-checking.

unsafe default fn get_address_unchecked_mut(
    &mut self,
    irow: usize,
    icol: usize
) -> *mut N
[src]

Gets the mutable address of the i-th matrix component without performing bound-checking.

unsafe default fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut N[src]

Retrieves a mutable reference to the i-th element without bound-checking.

unsafe default fn get_unchecked_mut(
    &mut self,
    irow: usize,
    icol: usize
) -> &mut N
[src]

Retrieves a mutable reference to the element at (irow, icol) without bound-checking.

unsafe default fn swap_unchecked_linear(&mut self, i1: usize, i2: usize)[src]

Swaps two elements using their linear index without bound-checking.

unsafe default fn swap_unchecked(
    &mut self,
    row_col1: (usize, usize),
    row_col2: (usize, usize)
)
[src]

Swaps two elements without bound-checking.

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

default fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

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.

default fn linear_index(&self, irow: usize, icol: usize) -> usize[src]

Compute the index corresponding to the irow-th row and icol-th column of this matrix. The index must be such that the following holds: Read more

unsafe default fn get_address_unchecked_linear(&self, i: usize) -> *const N[src]

Gets the address of the i-th matrix component without performing bound-checking.

unsafe default fn get_address_unchecked(
    &self,
    irow: usize,
    icol: usize
) -> *const N
[src]

Gets the address of the i-th matrix component without performing bound-checking.

unsafe default fn get_unchecked_linear(&self, i: usize) -> &N[src]

Retrieves a reference to the i-th element without bound-checking.

unsafe default fn get_unchecked(&self, irow: usize, icol: usize) -> &N[src]

Retrieves a reference to the i-th element without bound-checking.

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]

#[must_use]
default fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

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

default fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

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

Auto Trait Implementations

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

Blanket Implementations

impl<V> IntoVec for V[src]

impl<V> IntoPnt for V[src]

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

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

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

default fn is<T>() -> bool where
    T: Scalar
[src]

Tests if Self the same as the type T Read more

impl<T> Same for T

type Output = T

Should always be Self

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