Trait Slice

Source
pub trait Slice<Token, Width>
where Token: Token, Width: Width,
{ type Vector: Vector<Token = Token, Width = Width>; // Required methods unsafe fn read_unchecked(&self, token: Token) -> Self::Vector; fn read(&self, token: Token) -> Self::Vector; fn align( &self, token: Token, ) -> (&[<Self::Vector as Vector>::Scalar], &[Self::Vector], &[<Self::Vector as Vector>::Scalar]); fn align_mut( &mut self, token: Token, ) -> (&mut [<Self::Vector as Vector>::Scalar], &mut [Self::Vector], &mut [<Self::Vector as Vector>::Scalar]); fn overlapping(&self, token: Token) -> Overlapping<'_, Self::Vector>; fn overlapping_mut( &mut self, token: Token, ) -> OverlappingMut<'_, Self::Vector>; }
Expand description

A slice of scalars.

Required Associated Types§

Source

type Vector: Vector<Token = Token, Width = Width>

Required Methods§

Source

unsafe fn read_unchecked(&self, token: Token) -> Self::Vector

Read a vector from a slice without checking the length.

§Safety

See read_unchecked.

Source

fn read(&self, token: Token) -> Self::Vector

Read a vector from a slice.

See read.

Source

fn align( &self, token: Token, ) -> (&[<Self::Vector as Vector>::Scalar], &[Self::Vector], &[<Self::Vector as Vector>::Scalar])

Extract a slice of aligned vectors, as if by align_to.

Source

fn align_mut( &mut self, token: Token, ) -> (&mut [<Self::Vector as Vector>::Scalar], &mut [Self::Vector], &mut [<Self::Vector as Vector>::Scalar])

Extract a slice of aligned mutable vectors, as if by align_to_mut.

Source

fn overlapping(&self, token: Token) -> Overlapping<'_, Self::Vector>

Create a slice of overlapping vectors from a slice of scalars.

Source

fn overlapping_mut(&mut self, token: Token) -> OverlappingMut<'_, Self::Vector>

Create a mutable slice of overlapping vectors from a slice of scalars.

Implementations on Foreign Types§

Source§

impl<T, Token, Width> Slice<Token, Width> for [T]
where T: Scalar<Token, Width>, Token: Token, Width: Width,

Source§

type Vector = <T as Scalar<Token, Width>>::Vector

Source§

unsafe fn read_unchecked(&self, token: Token) -> Self::Vector

Source§

fn read(&self, token: Token) -> Self::Vector

Source§

fn align( &self, token: Token, ) -> (&[<Self::Vector as Vector>::Scalar], &[Self::Vector], &[<Self::Vector as Vector>::Scalar])

Source§

fn align_mut( &mut self, token: Token, ) -> (&mut [<Self::Vector as Vector>::Scalar], &mut [Self::Vector], &mut [<Self::Vector as Vector>::Scalar])

Source§

fn overlapping(&self, token: Token) -> Overlapping<'_, Self::Vector>

Source§

fn overlapping_mut(&mut self, token: Token) -> OverlappingMut<'_, Self::Vector>

Implementors§