AsView

Trait AsView 

Source
pub trait AsView<E: CubePrimitive>: CubeType<ExpandType: AsViewExpand<E, SourceCoords = Self::SourceCoords>> {
    type SourceCoords: Coordinates;

    // Provided methods
    fn view<C: Coordinates + 'static>(
        &self,
        layout: impl Into<VirtualLayout<C, Self::SourceCoords>>,
    ) -> View<E, C, ReadOnly> { ... }
    fn __expand_view<C: Coordinates + 'static>(
        scope: &mut Scope,
        this: Self::ExpandType,
        layout: VirtualLayoutExpand<C, Self::SourceCoords>,
    ) -> ViewExpand<E, C, ReadOnly> { ... }
}

Required Associated Types§

Provided Methods§

Source

fn view<C: Coordinates + 'static>( &self, layout: impl Into<VirtualLayout<C, Self::SourceCoords>>, ) -> View<E, C, ReadOnly>

Source

fn __expand_view<C: Coordinates + 'static>( scope: &mut Scope, this: Self::ExpandType, layout: VirtualLayoutExpand<C, Self::SourceCoords>, ) -> ViewExpand<E, C, ReadOnly>

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.

Implementations on Foreign Types§

Source§

impl<E: CubePrimitive> AsView<E> for Array<E>

Source§

impl<E: CubePrimitive> AsView<E> for SharedMemory<E>

Source§

impl<E: CubePrimitive> AsView<E> for Tensor<E>

Source§

impl<E: CubePrimitive, IO: SliceVisibility + 'static> AsView<E> for Slice<E, IO>

Source§

type SourceCoords = u32

Source§

fn view<C: Coordinates + 'static>( &self, layout: impl Into<VirtualLayout<C, Coords1d>>, ) -> View<E, C, ReadOnly>

Implementors§