Trait PointerExt

Source
pub trait PointerExt<Token>:
    Native<Token>
    + Pointer<Token, W1>
    + Pointer<Token, W2>
    + Pointer<Token, W4>
    + Pointer<Token, W8>
    + Pointer<Token, NativeWidth<Self, Token>>
where Token: Token,
{ // Provided methods unsafe fn vector_read_native( self, token: Token, ) -> <Self as Pointer<Token, <Self as Native<Token>>::Width>>::Vector { ... } unsafe fn vector_read_aligned_native( self, token: Token, ) -> <Self as Pointer<Token, <Self as Native<Token>>::Width>>::Vector { ... } unsafe fn vector_read1( self, token: Token, ) -> <Self as Pointer<Token, W1>>::Vector { ... } unsafe fn vector_read1_aligned( self, token: Token, ) -> <Self as Pointer<Token, W1>>::Vector { ... } unsafe fn vector_read2( self, token: Token, ) -> <Self as Pointer<Token, W2>>::Vector { ... } unsafe fn vector_read2_aligned( self, token: Token, ) -> <Self as Pointer<Token, W2>>::Vector { ... } unsafe fn vector_read4( self, token: Token, ) -> <Self as Pointer<Token, W4>>::Vector { ... } unsafe fn vector_read4_aligned( self, token: Token, ) -> <Self as Pointer<Token, W4>>::Vector { ... } unsafe fn vector_read8( self, token: Token, ) -> <Self as Pointer<Token, W8>>::Vector { ... } unsafe fn vector_read8_aligned( self, token: Token, ) -> <Self as Pointer<Token, W8>>::Vector { ... } }
Expand description

A pointer to a vector, supporting all vector widths.

Provided Methods§

Source

unsafe fn vector_read_native( self, token: Token, ) -> <Self as Pointer<Token, <Self as Native<Token>>::Width>>::Vector

Read a vector with the native number of lanes from a pointer.

§Safety

See read_ptr.

Source

unsafe fn vector_read_aligned_native( self, token: Token, ) -> <Self as Pointer<Token, <Self as Native<Token>>::Width>>::Vector

Read a vector with the native number of lanes from a vector-aligned pointer.

§Safety

See read_aligned_ptr.

Source

unsafe fn vector_read1( self, token: Token, ) -> <Self as Pointer<Token, W1>>::Vector

Read a vector with 1 lane from a pointer.

§Safety

See read_ptr.

Source

unsafe fn vector_read1_aligned( self, token: Token, ) -> <Self as Pointer<Token, W1>>::Vector

Read a vector with 1 lane from a vector-aligned pointer.

§Safety

See read_aligned_ptr.

Source

unsafe fn vector_read2( self, token: Token, ) -> <Self as Pointer<Token, W2>>::Vector

Read a vector with 2 lanes from a pointer.

§Safety

See read_ptr.

Source

unsafe fn vector_read2_aligned( self, token: Token, ) -> <Self as Pointer<Token, W2>>::Vector

Read a vector with 2 lanes from a vector-aligned pointer.

§Safety

See read_aligned_ptr.

Source

unsafe fn vector_read4( self, token: Token, ) -> <Self as Pointer<Token, W4>>::Vector

Read a vector with 4 lanes from a pointer.

§Safety

See read_ptr.

Source

unsafe fn vector_read4_aligned( self, token: Token, ) -> <Self as Pointer<Token, W4>>::Vector

Read a vector with 4 lanes from a vector-aligned pointer.

§Safety

See read_aligned_ptr.

Source

unsafe fn vector_read8( self, token: Token, ) -> <Self as Pointer<Token, W8>>::Vector

Read a vector with 8 lanes from a pointer.

§Safety

See read_ptr.

Source

unsafe fn vector_read8_aligned( self, token: Token, ) -> <Self as Pointer<Token, W8>>::Vector

Read a vector with 8 lanes from a vector-aligned pointer.

§Safety

See read_aligned_ptr.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, Token> PointerExt<Token> for T
where T: Native<Token> + Pointer<Token, W1> + Pointer<Token, W2> + Pointer<Token, W4> + Pointer<Token, W8> + Pointer<Token, NativeWidth<Self, Token>>, Token: Token,