Trait scratchpad::SliceSourceCollection [−][src]
Trait for generic access to collections of SliceSource
objects.
Collections can be either arrays, tuples, or slices of SliceSource
objects. Tuples can contain contain objects of different SliceSource
implementation types. If either the std
or unstable
features are
enabled, boxed slice
and Vec
instances can be used as slice
source collections as well.
SliceSourceCollection
on its own is only usable for Clone
and Copy
data sources. For move operations, the SliceMoveSourceCollection
subtrait provides additional functionality for moving slices out of
supported types.
Required methods
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
Calls a closure for each SliceSource
in this collection.
Examples
use scratchpad::{SliceLike, SliceSourceCollection}; let collection = ([1, 2, 3], [4], [5, 6]); let mut out = Vec::new(); collection.for_each(|source| { for x in source.as_slice_like().as_element_slice() { out.push(*x * 2); } }); assert_eq!(*out, [2, 4, 6, 8, 10, 12]);
Implementations on Foreign Types
impl<'b, T: ?Sized, U> SliceSourceCollection<T> for &'b [U] where
T: SliceLike,
U: SliceSource<T>,
[src]
T: SliceLike,
U: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, U> SliceSourceCollection<T> for Box<[U]> where
T: SliceLike,
U: SliceSource<T>,
[src]
T: SliceLike,
U: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, U> SliceSourceCollection<T> for Vec<U> where
T: SliceLike,
U: SliceSource<T>,
[src]
T: SliceLike,
U: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, U> SliceSourceCollection<T> for &'b Box<[U]> where
T: SliceLike,
U: SliceSource<T>,
[src]
T: SliceLike,
U: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, U> SliceSourceCollection<T> for &'b Vec<U> where
T: SliceLike,
U: SliceSource<T>,
[src]
T: SliceLike,
U: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T0: SliceSource<T>,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T0: SliceSource<T>,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T0: SliceSource<T>,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T0: SliceSource<T>,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T1: SliceSource<T>,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T2: SliceSource<T>,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T3: SliceSource<T>,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T4, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T4, T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T4: SliceSource<T>,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T5, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T5, T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T5: SliceSource<T>,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T6, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T6, T7, T8, T9, T10, T11) where
T: SliceLike,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T6: SliceSource<T>,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T7, T8, T9, T10, T11> SliceSourceCollection<T> for (T7, T8, T9, T10, T11) where
T: SliceLike,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T7, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T7, T8, T9, T10, T11) where
T: SliceLike,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T7: SliceSource<T>,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T8, T9, T10, T11> SliceSourceCollection<T> for (T8, T9, T10, T11) where
T: SliceLike,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T8, T9, T10, T11> SliceSourceCollection<T> for &'b (T8, T9, T10, T11) where
T: SliceLike,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T8: SliceSource<T>,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T9, T10, T11> SliceSourceCollection<T> for (T9, T10, T11) where
T: SliceLike,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T9, T10, T11> SliceSourceCollection<T> for &'b (T9, T10, T11) where
T: SliceLike,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T9: SliceSource<T>,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T10, T11> SliceSourceCollection<T> for (T10, T11) where
T: SliceLike,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T10, T11> SliceSourceCollection<T> for &'b (T10, T11) where
T: SliceLike,
T10: SliceSource<T>,
T11: SliceSource<T>,
[src]
T: SliceLike,
T10: SliceSource<T>,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<T: ?Sized, T11> SliceSourceCollection<T> for (T11,) where
T: SliceLike,
T11: SliceSource<T>,
[src]
T: SliceLike,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
impl<'b, T: ?Sized, T11> SliceSourceCollection<T> for &'b (T11,) where
T: SliceLike,
T11: SliceSource<T>,
[src]
T: SliceLike,
T11: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),
Implementors
impl<T: ?Sized, U> SliceSourceCollection<T> for U where
T: SliceLike,
U: Array,
<U as Array>::Item: SliceSource<T>,
[src]
T: SliceLike,
U: Array,
<U as Array>::Item: SliceSource<T>,
fn for_each<F>(&self, f: F) where
F: for<'a> FnMut(&'a dyn SliceSource<T>),
[src]
F: for<'a> FnMut(&'a dyn SliceSource<T>),