Struct slice_utils::Cycle
source · pub struct Cycle<S>(pub S);
Expand description
An infinitely looped slice; see Slice::cycle
.
Tuple Fields§
§0: S
Trait Implementations§
source§impl<S> Slice for Cycle<S>where
S: Slice,
impl<S> Slice for Cycle<S>where
S: Slice,
§type Output = <S as Slice>::Output
type Output = <S as Slice>::Output
The type this slice returns; analagous to
Index::Output
.source§fn get_with<F: FnMut(&Self::Output) -> U, U>(
&self,
index: usize,
f: &mut F
) -> Option<U>
fn get_with<F: FnMut(&Self::Output) -> U, U>( &self, index: usize, f: &mut F ) -> Option<U>
Call a closure with the indicated element, returning the result or
None
if the index was out-of-bounds. Read moresource§fn chain<S: Slice<Output = Self::Output>>(self, other: S) -> Chain<Self, S>where
Self: Sized,
fn chain<S: Slice<Output = Self::Output>>(self, other: S) -> Chain<Self, S>where
Self: Sized,
Chains two slices together, back-to-back. Read more
source§fn interleave<S: Slice<Output = Self::Output>>(
self,
other: S
) -> Interleave<Self, S>where
Self: Sized,
fn interleave<S: Slice<Output = Self::Output>>(
self,
other: S
) -> Interleave<Self, S>where
Self: Sized,
Interleaves two slices, e.g. [A, B, A, B, …]. Read more
source§impl<S> SliceBorrowed for Cycle<S>where
S: SliceBorrowed,
impl<S> SliceBorrowed for Cycle<S>where
S: SliceBorrowed,
source§fn get(&self, index: usize) -> Option<&Self::Output>
fn get(&self, index: usize) -> Option<&Self::Output>
Index the slice, returning a borrowed value.
source§fn array_chunks<const N: usize>(&self) -> ArrayChunksBorrowed<'_, Self, N> ⓘ
fn array_chunks<const N: usize>(&self) -> ArrayChunksBorrowed<'_, Self, N> ⓘ
Return an iterator over arrays covering consecutive portions of the
slice. Read more
source§fn array_windows<const N: usize>(&self) -> ArrayWindowsBorrowed<'_, Self, N> ⓘ
fn array_windows<const N: usize>(&self) -> ArrayWindowsBorrowed<'_, Self, N> ⓘ
Return a slice/iterator over arrays covering overlapping portions of the
slice. Read more
source§fn chunks(&self, size: usize) -> ChunksBorrowed<'_, Self> ⓘ
fn chunks(&self, size: usize) -> ChunksBorrowed<'_, Self> ⓘ
Return an iterator over slices covering consecutive portions of the
slice. Read more
source§impl<S> SliceOwned for Cycle<S>where
S: SliceOwned,
impl<S> SliceOwned for Cycle<S>where
S: SliceOwned,
source§fn get_owned(&self, index: usize) -> Option<Self::Output>
fn get_owned(&self, index: usize) -> Option<Self::Output>
Index the slice, returning an owned value.
source§fn array_chunks<const N: usize>(self) -> ArrayChunksOwned<Self, N> ⓘwhere
Self: Sized,
fn array_chunks<const N: usize>(self) -> ArrayChunksOwned<Self, N> ⓘwhere
Self: Sized,
Return an iterator over arrays covering consecutive portions of the
slice. Read more
source§fn array_windows<const N: usize>(self) -> ArrayWindowsOwned<Self, N> ⓘwhere
Self: Sized,
fn array_windows<const N: usize>(self) -> ArrayWindowsOwned<Self, N> ⓘwhere
Self: Sized,
Return a slice/iterator over arrays covering overlapping portions of the
slice. Read more
source§fn chunks(&self, size: usize) -> ChunksOwned<'_, Self> ⓘ
fn chunks(&self, size: usize) -> ChunksOwned<'_, Self> ⓘ
Return an iterator over slices covering consecutive portions of the
slice. Read more
source§fn map<F: Fn(Self::Output) -> R, R>(self, f: F) -> MapOwned<Self, F>where
Self: Sized,
fn map<F: Fn(Self::Output) -> R, R>(self, f: F) -> MapOwned<Self, F>where
Self: Sized,
Call a closure on index, returning a new type. Read more
source§fn iter(self) -> IterOwned<Self> ⓘwhere
Self: Sized,
fn iter(self) -> IterOwned<Self> ⓘwhere
Self: Sized,
Creates an iterator over the slice. Read more
source§fn try_array<const N: usize>(&self) -> Option<[Self::Output; N]>
fn try_array<const N: usize>(&self) -> Option<[Self::Output; N]>
Try to collect the slice into an array, failing if the lengths don’t
match up. Read more
Auto Trait Implementations§
impl<S> Freeze for Cycle<S>where
S: Freeze,
impl<S> RefUnwindSafe for Cycle<S>where
S: RefUnwindSafe,
impl<S> Send for Cycle<S>where
S: Send,
impl<S> Sync for Cycle<S>where
S: Sync,
impl<S> Unpin for Cycle<S>where
S: Unpin,
impl<S> UnwindSafe for Cycle<S>where
S: UnwindSafe,
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