Struct slice_utils::Chain
source · pub struct Chain<S1, S2>(pub S1, pub S2);
Expand description
Two chained slices; see Slice::chain
.
Tuple Fields§
§0: S1
§1: S2
Trait Implementations§
source§impl<T, S, S2> Index<usize> for Chain<S, S2>where
S: SliceBorrowed<Output = T>,
S2: SliceBorrowed<Output = T>,
impl<T, S, S2> Index<usize> for Chain<S, S2>where
S: SliceBorrowed<Output = T>,
S2: SliceBorrowed<Output = T>,
source§impl<S1, S2> Slice for Chain<S1, S2>
impl<S1, S2> Slice for Chain<S1, S2>
§type Output = <S1 as Slice>::Output
type Output = <S1 as Slice>::Output
The type this slice returns; analagous to
Index::Output
.source§fn get_with<W: FnMut(&Self::Output) -> R, R>(
&self,
index: usize,
f: &mut W
) -> Option<R>
fn get_with<W: FnMut(&Self::Output) -> R, R>( &self, index: usize, f: &mut W ) -> Option<R>
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<S1, S2> SliceBorrowed for Chain<S1, S2>
impl<S1, S2> SliceBorrowed for Chain<S1, S2>
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<S1, S2> SliceOwned for Chain<S1, S2>
impl<S1, S2> SliceOwned for Chain<S1, S2>
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<S1, S2> Freeze for Chain<S1, S2>
impl<S1, S2> RefUnwindSafe for Chain<S1, S2>where
S1: RefUnwindSafe,
S2: RefUnwindSafe,
impl<S1, S2> Send for Chain<S1, S2>
impl<S1, S2> Sync for Chain<S1, S2>
impl<S1, S2> Unpin for Chain<S1, S2>
impl<S1, S2> UnwindSafe for Chain<S1, S2>where
S1: UnwindSafe,
S2: 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