pub struct StridedBaseArray<Data, const NDIM: usize> { /* private fields */ }Expand description
Array implementation with explicit non-negative strides.
A logical index maps to the storage offset sum(index[axis] * stride[axis]). The layout may
contain gaps, but distinct logical indices may not alias.
Implementations§
Source§impl<Data: DataContainer, const NDIM: usize> StridedBaseArray<Data, NDIM>
impl<Data: DataContainer, const NDIM: usize> StridedBaseArray<Data, NDIM>
Sourcepub fn new(data: Data, shape: [usize; NDIM], stride: [usize; NDIM]) -> Self
pub fn new(data: Data, shape: [usize; NDIM], stride: [usize; NDIM]) -> Self
Combine a data container with a shape and stride.
The container may be longer than the reachable storage span.
§Panics
Panics if NDIM is zero, the computed data requirement exceeds the container length, or two computed
logical offsets are equal. Shape/stride arithmetic uses ordinary usize operations, so
callers must provide metadata whose products, offsets, and storage span are representable.
Trait Implementations§
Source§impl<Data: DataContainer, const NDIM: usize> BaseItem for StridedBaseArray<Data, NDIM>
impl<Data: DataContainer, const NDIM: usize> BaseItem for StridedBaseArray<Data, NDIM>
Source§type Item = <Data as DataContainer>::Item
type Item = <Data as DataContainer>::Item
Item type.
Source§impl<Data: ContainerType, const NDIM: usize> ContainerType for StridedBaseArray<Data, NDIM>
impl<Data: ContainerType, const NDIM: usize> ContainerType for StridedBaseArray<Data, NDIM>
Source§type Type = <Data as ContainerType>::Type
type Type = <Data as ContainerType>::Type
The type for the container.
Source§fn type_as_str(&self) -> &'static str
fn type_as_str(&self) -> &'static str
Returns the type hint for the container as string ref.
Source§impl<Data: RawAccessDataContainer, const NDIM: usize> RawAccess for StridedBaseArray<Data, NDIM>
impl<Data: RawAccessDataContainer, const NDIM: usize> RawAccess for StridedBaseArray<Data, NDIM>
Source§impl<Data: MutableRawAccessDataContainer, const NDIM: usize> RawAccessMut for StridedBaseArray<Data, NDIM>
impl<Data: MutableRawAccessDataContainer, const NDIM: usize> RawAccessMut for StridedBaseArray<Data, NDIM>
Source§impl<Data: DataContainer, const NDIM: usize> Shape<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data: DataContainer, const NDIM: usize> Shape<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data: StableRawAccessDataContainer, const NDIM: usize> StableRawAccessMut for StridedBaseArray<Data, NDIM>
Source§impl<Data, const NDIM: usize> Stride<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> Stride<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data: DisjointRefDataContainerMut, const NDIM: usize> UnsafeDisjointRandom1DAccessMut for StridedBaseArray<Data, NDIM>
Source§impl<Data: RefDataContainer, const NDIM: usize> UnsafeRandom1DAccessByRef for StridedBaseArray<Data, NDIM>
impl<Data: RefDataContainer, const NDIM: usize> UnsafeRandom1DAccessByRef for StridedBaseArray<Data, NDIM>
Source§impl<Data: ValueDataContainer, const NDIM: usize> UnsafeRandom1DAccessByValue for StridedBaseArray<Data, NDIM>
impl<Data: ValueDataContainer, const NDIM: usize> UnsafeRandom1DAccessByValue for StridedBaseArray<Data, NDIM>
Source§impl<Data: RefDataContainerMut, const NDIM: usize> UnsafeRandom1DAccessMut for StridedBaseArray<Data, NDIM>
impl<Data: RefDataContainerMut, const NDIM: usize> UnsafeRandom1DAccessMut for StridedBaseArray<Data, NDIM>
Source§impl<Data: RefDataContainer, const NDIM: usize> UnsafeRandomAccessByRef<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data: RefDataContainer, const NDIM: usize> UnsafeRandomAccessByRef<NDIM> for StridedBaseArray<Data, NDIM>
Source§impl<Data: ValueDataContainer, const NDIM: usize> UnsafeRandomAccessByValue<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data: ValueDataContainer, const NDIM: usize> UnsafeRandomAccessByValue<NDIM> for StridedBaseArray<Data, NDIM>
Source§impl<Data: RefDataContainerMut, const NDIM: usize> UnsafeRandomAccessMut<NDIM> for StridedBaseArray<Data, NDIM>
impl<Data: RefDataContainerMut, const NDIM: usize> UnsafeRandomAccessMut<NDIM> for StridedBaseArray<Data, NDIM>
Auto Trait Implementations§
impl<Data, const NDIM: usize> Freeze for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> RefUnwindSafe for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> Send for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> Sync for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> Unpin for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> UnsafeUnpin for StridedBaseArray<Data, NDIM>
impl<Data, const NDIM: usize> UnwindSafe for StridedBaseArray<Data, NDIM>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more