pub struct SequenceExpand<T: CubeType> { /* private fields */ }Expand description
Expand type of Sequence.
Implementations§
Source§impl<T: CubeType<ExpandType: Clone>> SequenceExpand<T>
impl<T: CubeType<ExpandType: Clone>> SequenceExpand<T>
Sourcepub fn iter_cloned(&self) -> impl Iterator<Item = T::ExpandType>
pub fn iter_cloned(&self) -> impl Iterator<Item = T::ExpandType>
Provides an iterator without modifying the sequence
Source§impl<T: CubeType> SequenceExpand<T>
impl<T: CubeType> SequenceExpand<T>
pub fn len(&self) -> usize
Sourcepub fn __expand_push_method(&mut self, _scope: &Scope, value: T::ExpandType)
pub fn __expand_push_method(&mut self, _scope: &Scope, value: T::ExpandType)
Expand method of push.
Sourcepub fn __expand_insert_method(
&mut self,
_scope: &Scope,
index: usize,
value: T::ExpandType,
)
pub fn __expand_insert_method( &mut self, _scope: &Scope, index: usize, value: T::ExpandType, )
Expand method of insert.
Sourcepub fn __expand_index_method(
&self,
_scope: &Scope,
index: NativeExpand<usize>,
) -> &T::ExpandType
pub fn __expand_index_method( &self, _scope: &Scope, index: NativeExpand<usize>, ) -> &T::ExpandType
Expand method of index.
Sourcepub fn __expand_index_mut_method(
&mut self,
_scope: &Scope,
index: NativeExpand<usize>,
) -> &mut T::ExpandType
pub fn __expand_index_mut_method( &mut self, _scope: &Scope, index: NativeExpand<usize>, ) -> &mut T::ExpandType
Expand method of index_mut.
pub fn __expand_len_method(&self, _scope: &Scope) -> usize
pub fn __expand_reverse_method(&mut self, _scope: &Scope)
pub fn __expand_reversed_method(&self, _scope: &Scope) -> Selfwhere
T::ExpandType: Clone,
pub fn __expand_clone_method(&self, _scope: &Scope) -> Selfwhere
T::ExpandType: Clone,
Trait Implementations§
Source§impl<T: CubeType> AsMutExpand for SequenceExpand<T>
impl<T: CubeType> AsMutExpand for SequenceExpand<T>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<T: CubeType> AsRefExpand for SequenceExpand<T>
impl<T: CubeType> AsRefExpand for SequenceExpand<T>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<T: CubeType> CubeDebug for SequenceExpand<T>
impl<T: CubeType> CubeDebug for SequenceExpand<T>
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: Debug + CubeType> Debug for SequenceExpand<T>where
T::ExpandType: Debug,
impl<T: Debug + CubeType> Debug for SequenceExpand<T>where
T::ExpandType: Debug,
Source§impl<T: CubeType<ExpandType: Clone>> DerefExpand for SequenceExpand<T>
impl<T: CubeType<ExpandType: Clone>> DerefExpand for SequenceExpand<T>
type Target = SequenceExpand<T>
fn __expand_deref_method(&self, _: &Scope) -> Self::Target
Source§impl<T: CubeType> ExpandTypeClone for SequenceExpand<T>
impl<T: CubeType> ExpandTypeClone for SequenceExpand<T>
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: CubeType> IndexExpand<NativeExpand<usize>> for SequenceExpand<T>
impl<T: CubeType> IndexExpand<NativeExpand<usize>> for SequenceExpand<T>
type Output = <T as CubeType>::ExpandType
fn __expand_index_method( &self, scope: &Scope, index: NativeExpand<usize>, ) -> &Self::Output
Source§impl<T: CubeType> IndexMutExpand<NativeExpand<usize>> for SequenceExpand<T>
impl<T: CubeType> IndexMutExpand<NativeExpand<usize>> for SequenceExpand<T>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: NativeExpand<usize>, ) -> &mut T::ExpandType
Source§impl<T: CubeType> IntoExpand for SequenceExpand<T>
impl<T: CubeType> IntoExpand for SequenceExpand<T>
type Expand = SequenceExpand<T>
fn into_expand(self, _scope: &Scope) -> Self::Expand
Source§impl<T: CubeType> IntoIterator for SequenceExpand<T>
impl<T: CubeType> IntoIterator for SequenceExpand<T>
Source§type Item = <T as CubeType>::ExpandType
type Item = <T as CubeType>::ExpandType
The type of the elements being iterated over.
Source§type IntoIter = <Vec<<T as CubeType>::ExpandType> as IntoIterator>::IntoIter
type IntoIter = <Vec<<T as CubeType>::ExpandType> as IntoIterator>::IntoIter
Which kind of iterator are we turning this into?
Source§impl<T: CubeType> IntoMut for SequenceExpand<T>
impl<T: CubeType> IntoMut for SequenceExpand<T>
Source§impl<T: CubeType> Iterable for SequenceExpand<T>
impl<T: CubeType> Iterable for SequenceExpand<T>
type Item = <T as CubeType>::ExpandType
Source§fn expand(
self,
scope: &Scope,
func: impl FnMut(&Scope, <T as CubeType>::ExpandType),
)
fn expand( self, scope: &Scope, func: impl FnMut(&Scope, <T as CubeType>::ExpandType), )
Expand a runtime loop without unrolling Read more
Source§fn expand_unroll(
self,
scope: &Scope,
func: impl FnMut(&Scope, <T as CubeType>::ExpandType),
)
fn expand_unroll( self, scope: &Scope, func: impl FnMut(&Scope, <T as CubeType>::ExpandType), )
Expand an unrolled loop. The body should be invoced
n times, where n is the number of
iterations. Read moreAuto Trait Implementations§
impl<T> Freeze for SequenceExpand<T>
impl<T> RefUnwindSafe for SequenceExpand<T>
impl<T> Send for SequenceExpand<T>
impl<T> Sync for SequenceExpand<T>
impl<T> Unpin for SequenceExpand<T>
impl<T> UnsafeUnpin for SequenceExpand<T>
impl<T> UnwindSafe for SequenceExpand<T>
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> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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