pub struct VirtualViewExpand<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> { /* private fields */ }Implementations§
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> VirtualViewExpand<T, C, S, V>
pub fn new(view: V::ExpandType, layout: VirtualLayoutExpand<C, S>) -> Self
Trait Implementations§
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> AsMutExpand for VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> AsMutExpand for VirtualViewExpand<T, C, S, V>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> AsRefExpand for VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> AsRefExpand for VirtualViewExpand<T, C, S, V>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> CubeDebug for VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> CubeDebug for VirtualViewExpand<T, C, S, V>
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> ExpandTypeClone for VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> ExpandTypeClone for VirtualViewExpand<T, C, S, V>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> IntoExpand for VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> IntoExpand for VirtualViewExpand<T, C, S, V>
type Expand = VirtualViewExpand<T, C, S, V>
fn into_expand(self, _: &Scope) -> Self
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> IntoMut for VirtualViewExpand<T, C, S, V>
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V: ViewOperations<T, S>> IntoMut for VirtualViewExpand<T, C, S, V>
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V> VectorizedExpand for VirtualViewExpand<T, C, S, V>where
V: ViewOperations<T, S>,
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V> VectorizedExpand for VirtualViewExpand<T, C, S, V>where
V: ViewOperations<T, S>,
fn vector_size(&self) -> VectorSize
fn __expand_vector_size_method(&self, _scope: &Scope) -> usize
Source§impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V> ViewOperationsExpand<T, C> for VirtualViewExpand<T, C, S, V>where
V: ViewOperations<T, S>,
impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V> ViewOperationsExpand<T, C> for VirtualViewExpand<T, C, S, V>where
V: ViewOperations<T, S>,
fn __expand_read_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType
fn __expand_read_checked_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType
fn __expand_read_masked_method( &self, scope: &Scope, pos: C::ExpandType, mask_value: T::ExpandType, ) -> T::ExpandType
fn __expand_read_unchecked_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType
fn __expand_as_linear_slice_method( &self, scope: &Scope, pos: C::ExpandType, end: C::ExpandType, ) -> &SliceExpand<T>
fn __expand_shape_method(&self, scope: &Scope) -> C::ExpandType
fn __expand_is_in_bounds_method( &self, scope: &Scope, pos: C::ExpandType, ) -> NativeExpand<bool>
fn __expand_tensor_map_load_method( &self, scope: &Scope, barrier: &NativeExpand<Barrier>, shared_memory: &mut SliceExpand<T>, pos: C::ExpandType, )
Auto Trait Implementations§
impl<T, C, S, V> !RefUnwindSafe for VirtualViewExpand<T, C, S, V>
impl<T, C, S, V> !Send for VirtualViewExpand<T, C, S, V>
impl<T, C, S, V> !Sync for VirtualViewExpand<T, C, S, V>
impl<T, C, S, V> !UnwindSafe for VirtualViewExpand<T, C, S, V>
impl<T, C, S, V> Freeze for VirtualViewExpand<T, C, S, V>where
<S as CubeType>::ExpandType: Sized,
<C as CubeType>::ExpandType: Sized,
<V as CubeType>::ExpandType: Freeze,
impl<T, C, S, V> Unpin for VirtualViewExpand<T, C, S, V>where
<S as CubeType>::ExpandType: Sized,
<C as CubeType>::ExpandType: Sized,
<V as CubeType>::ExpandType: Unpin,
T: Unpin,
impl<T, C, S, V> UnsafeUnpin for VirtualViewExpand<T, C, S, V>where
<S as CubeType>::ExpandType: Sized,
<C as CubeType>::ExpandType: Sized,
<V as CubeType>::ExpandType: UnsafeUnpin,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more