pub struct TileView<'a, T: NumericElement, Backend, Arch, const ROWS: usize, const COLS: usize, Align: Alignment = Unaligned, Ref: 'a = &'a [T]> { /* private fields */ }Expand description
A 2D matrix tile view, parameterized by dimensions, alignment, execution mode, and backing reference type.
Under the hood, this represents a 2D tile of shape ROWS x COLS with a specified row stride.
It is represented as #[repr(C)] to guarantee layout compatibility.
Implementations§
Source§impl<'a, T: NumericElement, Backend, Arch: SimdArch, const ROWS: usize, const COLS: usize, Align: Alignment> TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a [T]>
impl<'a, T: NumericElement, Backend, Arch: SimdArch, const ROWS: usize, const COLS: usize, Align: Alignment> TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a [T]>
Source§impl<'a, T: NumericElement, Backend, Arch: SimdArch, const ROWS: usize, const COLS: usize, Align: Alignment> TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a mut [T]>
impl<'a, T: NumericElement, Backend, Arch: SimdArch, const ROWS: usize, const COLS: usize, Align: Alignment> TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a mut [T]>
Sourcepub fn new_mut(data: &'a mut [T], stride: usize) -> Option<Self>
pub fn new_mut(data: &'a mut [T], stride: usize) -> Option<Self>
Create a new mutable TileView after verifying bounds and alignment invariants.
Returns None if the input slice is too small or if alignment constraints are not met.
Sourcepub fn as_mut_ptr(&mut self) -> *mut T
pub fn as_mut_ptr(&mut self) -> *mut T
Access the underlying raw mutable pointer.
Trait Implementations§
Source§impl<'a, T: NumericElement, Backend, Arch, const ROWS: usize, const COLS: usize, Align: Alignment, Ref> Clone for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>where
Ref: Clone + 'a,
impl<'a, T: NumericElement, Backend, Arch, const ROWS: usize, const COLS: usize, Align: Alignment, Ref> Clone for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>where
Ref: Clone + 'a,
impl<'a, T: NumericElement, Backend, Arch, const ROWS: usize, const COLS: usize, Align: Alignment, Ref> Copy for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>where
Ref: Copy + 'a,
impl<'a, T: NumericElement, Backend, Arch, const ROWS: usize, const COLS: usize, Align: Alignment, Ref> Send for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>where
Ref: Send + 'a,
impl<'a, T: NumericElement, Backend, Arch, const ROWS: usize, const COLS: usize, Align: Alignment, Ref> Sync for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>where
Ref: Sync + 'a,
Auto Trait Implementations§
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Freeze for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> RefUnwindSafe for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>where
T: RefUnwindSafe,
Backend: RefUnwindSafe,
Arch: RefUnwindSafe,
Align: RefUnwindSafe,
Ref: RefUnwindSafe,
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Unpin for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> UnsafeUnpin for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> UnwindSafe for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.