pub struct TileView<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align = Unaligned, Ref = &'a [T]>where
T: NumericElement,
Align: Alignment,
Ref: 'a,{ /* 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, Backend, Arch, const ROWS: usize, const COLS: usize, Align> TileView<'a, T, Backend, Arch, ROWS, COLS, Align>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align> TileView<'a, T, Backend, Arch, ROWS, COLS, Align>
Source§impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align> TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a mut [T]>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align> TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a mut [T]>
Sourcepub fn new_mut(
data: &'a mut [T],
stride: usize,
) -> Option<TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a mut [T]>>
pub fn new_mut( data: &'a mut [T], stride: usize, ) -> Option<TileView<'a, T, Backend, Arch, ROWS, COLS, Align, &'a mut [T]>>
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, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Clone for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Clone for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Copy for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Send for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
impl<'a, T, Backend, Arch, const ROWS: usize, const COLS: usize, Align, Ref> Sync for TileView<'a, T, Backend, Arch, ROWS, COLS, Align, Ref>
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