pub struct ErasedRawStridedRef<'a> { /* private fields */ }Expand description
Borrowed dtype-erased raw strided input layout.
dims, strides, and offset are expressed in dtype elements, not bytes.
Implementations§
Source§impl<'a> ErasedRawStridedRef<'a>
impl<'a> ErasedRawStridedRef<'a>
Sourcepub fn from_slice<T>(
data: &'a [T],
dims: &'a [usize],
strides: &'a [isize],
offset: isize,
) -> Result<ErasedRawStridedRef<'a>, StridedError>where
T: KernelStorageElement,
pub fn from_slice<T>(
data: &'a [T],
dims: &'a [usize],
strides: &'a [isize],
offset: isize,
) -> Result<ErasedRawStridedRef<'a>, StridedError>where
T: KernelStorageElement,
Create an erased input descriptor from typed, initialized storage.
Sourcepub unsafe fn from_raw_parts(
dtype: KernelDType,
data: NonNull<u8>,
byte_len: usize,
dims: &'a [usize],
strides: &'a [isize],
offset: isize,
) -> Result<ErasedRawStridedRef<'a>, StridedError>
pub unsafe fn from_raw_parts( dtype: KernelDType, data: NonNull<u8>, byte_len: usize, dims: &'a [usize], strides: &'a [isize], offset: isize, ) -> Result<ErasedRawStridedRef<'a>, StridedError>
Construct from erased storage.
§Safety
data must be the start of an allocation aligned for dtype; the
allocation must contain byte_len initialized, readable bytes for
'a, and every byte extent must represent valid values for dtype.
The allocation and metadata must outlive 'a; no mutable alias may
exist while this descriptor is used. Alignment is an allocation
property and must not be inferred from the observed address alone.
Sourcepub fn data_as<T>(&self) -> Result<&[T], StridedError>where
T: KernelStorageElement,
pub fn data_as<T>(&self) -> Result<&[T], StridedError>where
T: KernelStorageElement,
Borrow the initialized storage as its concrete scalar type.
pub fn dtype(&self) -> KernelDType
pub fn dims(&self) -> &'a [usize]
pub fn strides(&self) -> &'a [isize]
pub fn offset(&self) -> isize
Trait Implementations§
Source§impl<'a> Clone for ErasedRawStridedRef<'a>
impl<'a> Clone for ErasedRawStridedRef<'a>
Source§fn clone(&self) -> ErasedRawStridedRef<'a>
fn clone(&self) -> ErasedRawStridedRef<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a> Copy for ErasedRawStridedRef<'a>
Auto Trait Implementations§
impl<'a> Freeze for ErasedRawStridedRef<'a>
impl<'a> RefUnwindSafe for ErasedRawStridedRef<'a>
impl<'a> Send for ErasedRawStridedRef<'a>
impl<'a> Sync for ErasedRawStridedRef<'a>
impl<'a> Unpin for ErasedRawStridedRef<'a>
impl<'a> UnsafeUnpin for ErasedRawStridedRef<'a>
impl<'a> UnwindSafe for ErasedRawStridedRef<'a>
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