Struct lnkit::prelude::SliceStorage [−][src]
pub struct SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim, { /* fields omitted */ }
A matrix data storage for a matrix slice. Only contains an internal reference to another matrix data storage.
Implementations
impl<'a, T, R, C, RStride, CStride> SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]
impl<'a, T, R, C, RStride, CStride> SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]pub unsafe fn from_raw_parts(
ptr: *const T,
shape: (R, C),
strides: (RStride, CStride)
) -> SliceStorage<'a, T, R, C, RStride, CStride> where
RStride: Dim,
CStride: Dim,
[src]
ptr: *const T,
shape: (R, C),
strides: (RStride, CStride)
) -> SliceStorage<'a, T, R, C, RStride, CStride> where
RStride: Dim,
CStride: Dim,
Create a new matrix slice without bound checking and from a raw pointer.
impl<'a, T, R, C> SliceStorage<'a, T, R, C, Dynamic, Dynamic> where
C: Dim,
T: Scalar,
R: Dim,
[src]
impl<'a, T, R, C> SliceStorage<'a, T, R, C, Dynamic, Dynamic> where
C: Dim,
T: Scalar,
R: Dim,
[src]pub unsafe fn new_unchecked<RStor, CStor, S>(
storage: &'a S,
start: (usize, usize),
shape: (R, C)
) -> SliceStorage<'a, T, R, C, <S as Storage<T, RStor, CStor>>::RStride, <S as Storage<T, RStor, CStor>>::CStride> where
S: Storage<T, RStor, CStor>,
RStor: Dim,
CStor: Dim,
[src]
storage: &'a S,
start: (usize, usize),
shape: (R, C)
) -> SliceStorage<'a, T, R, C, <S as Storage<T, RStor, CStor>>::RStride, <S as Storage<T, RStor, CStor>>::CStride> where
S: Storage<T, RStor, CStor>,
RStor: Dim,
CStor: Dim,
Create a new matrix slice without bound checking.
pub unsafe fn new_with_strides_unchecked<S, RStor, CStor, RStride, CStride>(
storage: &'a S,
start: (usize, usize),
shape: (R, C),
strides: (RStride, CStride)
) -> SliceStorage<'a, T, R, C, RStride, CStride> where
S: Storage<T, RStor, CStor>,
RStride: Dim,
CStride: Dim,
RStor: Dim,
CStor: Dim,
[src]
storage: &'a S,
start: (usize, usize),
shape: (R, C),
strides: (RStride, CStride)
) -> SliceStorage<'a, T, R, C, RStride, CStride> where
S: Storage<T, RStor, CStor>,
RStride: Dim,
CStride: Dim,
RStor: Dim,
CStor: Dim,
Create a new matrix slice without bound checking.
Trait Implementations
impl<'a, T, R, C, RStride, CStride> Clone for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]
impl<'a, T, R, C, RStride, CStride> Clone for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]pub fn clone(&self) -> SliceStorage<'a, T, R, C, RStride, CStride>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a, T, R, C> ContiguousStorage<T, R, C> for SliceStorage<'a, T, R, C, Const<1_usize>, R> where
C: Dim + IsNotStaticOne,
T: Scalar,
R: DimName,
[src]
impl<'a, T, R, C> ContiguousStorage<T, R, C> for SliceStorage<'a, T, R, C, Const<1_usize>, R> where
C: Dim + IsNotStaticOne,
T: Scalar,
R: DimName,
[src]impl<'a, T, R, CStride> ContiguousStorage<T, R, Const<1_usize>> for SliceStorage<'a, T, R, Const<1_usize>, Const<1_usize>, CStride> where
T: Scalar,
R: Dim,
CStride: Dim,
[src]
impl<'a, T, R, CStride> ContiguousStorage<T, R, Const<1_usize>> for SliceStorage<'a, T, R, Const<1_usize>, Const<1_usize>, CStride> where
T: Scalar,
R: Dim,
CStride: Dim,
[src]impl<'a, T, R, C, RStride, CStride> Copy for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]
impl<'a, T, R, C, RStride, CStride> Copy for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]impl<'a, T, R, C, RStride, CStride> Debug for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Debug + Dim,
T: Debug + Scalar,
R: Debug + Dim,
RStride: Debug + Dim,
CStride: Debug + Dim,
[src]
impl<'a, T, R, C, RStride, CStride> Debug for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Debug + Dim,
T: Debug + Scalar,
R: Debug + Dim,
RStride: Debug + Dim,
CStride: Debug + Dim,
[src]impl<'a, T, R, C, RStride, CStride> Send for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar + Send,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]
impl<'a, T, R, C, RStride, CStride> Send for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar + Send,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]impl<'a, T, R, C, RStride, CStride> Storage<T, R, C> for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]
impl<'a, T, R, C, RStride, CStride> Storage<T, R, C> for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Dim,
T: Scalar,
R: Dim,
RStride: Dim,
CStride: Dim,
[src]type RStride = RStride
The static stride of this storage’s rows.
type CStride = CStride
The static stride of this storage’s columns.
pub fn ptr(&self) -> *const T
[src]
pub fn shape(&self) -> (R, C)
[src]
pub fn strides(
&self
) -> (<SliceStorage<'a, T, R, C, RStride, CStride> as Storage<T, R, C>>::RStride, <SliceStorage<'a, T, R, C, RStride, CStride> as Storage<T, R, C>>::CStride)
[src]
&self
) -> (<SliceStorage<'a, T, R, C, RStride, CStride> as Storage<T, R, C>>::RStride, <SliceStorage<'a, T, R, C, RStride, CStride> as Storage<T, R, C>>::CStride)
pub fn is_contiguous(&self) -> bool
[src]
pub fn into_owned(self) -> <DefaultAllocator as Allocator<T, R, C>>::Buffer where
DefaultAllocator: Allocator<T, R, C>,
[src]
DefaultAllocator: Allocator<T, R, C>,
pub fn clone_owned(&self) -> <DefaultAllocator as Allocator<T, R, C>>::Buffer where
DefaultAllocator: Allocator<T, R, C>,
[src]
DefaultAllocator: Allocator<T, R, C>,
pub fn as_slice(&self) -> &[T]
[src]
pub fn linear_index(&self, irow: usize, icol: usize) -> usize
[src]
pub unsafe fn get_address_unchecked_linear(&self, i: usize) -> *const T
[src]
pub unsafe fn get_address_unchecked(&self, irow: usize, icol: usize) -> *const T
[src]
pub unsafe fn get_unchecked_linear(&self, i: usize) -> &T
[src]
pub unsafe fn get_unchecked(&self, irow: usize, icol: usize) -> &T
[src]
Auto Trait Implementations
impl<'a, T, R, C, RStride, CStride> RefUnwindSafe for SliceStorage<'a, T, R, C, RStride, CStride> where
C: RefUnwindSafe,
CStride: RefUnwindSafe,
R: RefUnwindSafe,
RStride: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, T, R, C, RStride, CStride> RefUnwindSafe for SliceStorage<'a, T, R, C, RStride, CStride> where
C: RefUnwindSafe,
CStride: RefUnwindSafe,
R: RefUnwindSafe,
RStride: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, T, R, C, RStride, CStride> Unpin for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Unpin,
CStride: Unpin,
R: Unpin,
RStride: Unpin,
impl<'a, T, R, C, RStride, CStride> Unpin for SliceStorage<'a, T, R, C, RStride, CStride> where
C: Unpin,
CStride: Unpin,
R: Unpin,
RStride: Unpin,
impl<'a, T, R, C, RStride, CStride> UnwindSafe for SliceStorage<'a, T, R, C, RStride, CStride> where
C: UnwindSafe,
CStride: UnwindSafe,
R: UnwindSafe,
RStride: UnwindSafe,
T: RefUnwindSafe,
impl<'a, T, R, C, RStride, CStride> UnwindSafe for SliceStorage<'a, T, R, C, RStride, CStride> where
C: UnwindSafe,
CStride: UnwindSafe,
R: UnwindSafe,
RStride: UnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T, U> Cast<U> for T where
U: FromCast<T>,
impl<T, U> Cast<U> for T where
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
impl<T> FromBits<T> for T
impl<T> FromBits<T> for T
pub fn from_bits(t: T) -> T
impl<T> FromCast<T> for T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
pub fn into_bits(self) -> U
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,