Skip to main content

List

Trait List 

Source
pub trait List<T: CubePrimitive>:
    SliceOperator<T>
    + Vectorized
    + Deref<Target = [T]>
    + CubeType<ExpandType: ListExpand<T>> {
    // Provided methods
    fn read(&self, index: usize) -> T { ... }
    fn read_unchecked(&self, index: usize) -> T { ... }
    fn len(&self) -> usize { ... }
    fn __expand_read(
        scope: &mut Scope,
        this: <Self as CubeType>::ExpandType,
        index: <usize as CubeType>::ExpandType,
    ) -> <T as CubeType>::ExpandType { ... }
    fn __expand_read_unchecked(
        scope: &mut Scope,
        this: <Self as CubeType>::ExpandType,
        index: <usize as CubeType>::ExpandType,
    ) -> <T as CubeType>::ExpandType { ... }
    fn __expand_len(
        scope: &mut Scope,
        this: <Self as CubeType>::ExpandType,
    ) -> <usize as CubeType>::ExpandType { ... }
}
Expand description

Type from which we can read values in cube functions. For a mutable version, see ListMut.

Provided Methods§

Source

fn read(&self, index: usize) -> T

Source

fn read_unchecked(&self, index: usize) -> T

Source

fn len(&self) -> usize

Source

fn __expand_read( scope: &mut Scope, this: <Self as CubeType>::ExpandType, index: <usize as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source

fn __expand_read_unchecked( scope: &mut Scope, this: <Self as CubeType>::ExpandType, index: <usize as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source

fn __expand_len( scope: &mut Scope, this: <Self as CubeType>::ExpandType, ) -> <usize as CubeType>::ExpandType

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, T: CubePrimitive, L: List<T>> List<T> for &'a L
where &'a L: CubeType<ExpandType = L::ExpandType> + Deref<Target = [T]>,

Source§

fn read(&self, index: usize) -> T

Source§

fn __expand_read( scope: &mut Scope, this: Self::ExpandType, index: NativeExpand<usize>, ) -> <T as CubeType>::ExpandType

Source§

impl<'a, T: CubePrimitive, L: List<T>> List<T> for &'a mut L
where &'a mut L: CubeType<ExpandType = L::ExpandType> + Deref<Target = [T]>,

Source§

fn read(&self, index: usize) -> T

Source§

fn __expand_read( scope: &mut Scope, this: Self::ExpandType, index: NativeExpand<usize>, ) -> <T as CubeType>::ExpandType

Implementors§