Trait SliceMoveSourceCollection

Source
pub trait SliceMoveSourceCollection<T>: SliceSourceCollection<T>
where T: SliceLike + ?Sized,
{ // Required method fn move_all_elements<F>(self, f: F) where Self: Sized, F: FnMut(<T as SliceLike>::Element); }
Expand description

Subtrait of SliceSourceCollection for taking ownership of the contents of a collection of slice sources.

Required Methods§

Source

fn move_all_elements<F>(self, f: F)
where Self: Sized, F: FnMut(<T as SliceLike>::Element),

Calls a closure for each item in all SliceSource objects of this collection in sequence, consuming the collection.

§Examples
use scratchpad::SliceMoveSourceCollection;

let collection = ([1, 2, 3], [4], [5, 6]);

let mut out = Vec::new();
collection.move_all_elements(|x| out.push(x * 2));
assert_eq!(*out, [2, 4, 6, 8, 10, 12]);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'b, T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, 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>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, 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>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, 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>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, 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>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T4, T5, T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T4: SliceSource<T>, T5: SliceSource<T>, T6: SliceSource<T>, T7: SliceSource<T>, T8: SliceSource<T>, T9: SliceSource<T>, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T5, T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T5: SliceSource<T>, T6: SliceSource<T>, T7: SliceSource<T>, T8: SliceSource<T>, T9: SliceSource<T>, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T6: SliceSource<T>, T7: SliceSource<T>, T8: SliceSource<T>, T9: SliceSource<T>, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T7: SliceSource<T>, T8: SliceSource<T>, T9: SliceSource<T>, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T8, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T8, T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T8: SliceSource<T>, T9: SliceSource<T>, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T9, T10, T11> SliceMoveSourceCollection<T> for &'b (T9, T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T9: SliceSource<T>, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T10, T11> SliceMoveSourceCollection<T> for &'b (T10, T11)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T10: SliceSource<T>, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, T11> SliceMoveSourceCollection<T> for &'b (T11,)
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, T11: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, U> SliceMoveSourceCollection<T> for &'b [U]
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, U: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, U> SliceMoveSourceCollection<T> for &'b Box<[U]>
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, U: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<'b, T, U> SliceMoveSourceCollection<T> for &'b Vec<U>
where T: SliceLike + ?Sized, <T as SliceLike>::Element: Copy, U: SliceSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T3, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T4, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T5, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T5, T6, T7, T8, T9, T10, T11)

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T6, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T6, T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, T6: SliceMoveSource<T>, T7: SliceMoveSource<T>, T8: SliceMoveSource<T>, T9: SliceMoveSource<T>, T10: SliceMoveSource<T>, T11: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T7, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T7, T8, T9, T10, T11)
where T: SliceLike + ?Sized, T7: SliceMoveSource<T>, T8: SliceMoveSource<T>, T9: SliceMoveSource<T>, T10: SliceMoveSource<T>, T11: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T8, T9, T10, T11> SliceMoveSourceCollection<T> for (T8, T9, T10, T11)
where T: SliceLike + ?Sized, T8: SliceMoveSource<T>, T9: SliceMoveSource<T>, T10: SliceMoveSource<T>, T11: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T9, T10, T11> SliceMoveSourceCollection<T> for (T9, T10, T11)
where T: SliceLike + ?Sized, T9: SliceMoveSource<T>, T10: SliceMoveSource<T>, T11: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T10, T11> SliceMoveSourceCollection<T> for (T10, T11)
where T: SliceLike + ?Sized, T10: SliceMoveSource<T>, T11: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, T11> SliceMoveSourceCollection<T> for (T11,)
where T: SliceLike + ?Sized, T11: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, U> SliceMoveSourceCollection<T> for Box<[U]>
where T: SliceLike + ?Sized, U: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Source§

impl<T, U> SliceMoveSourceCollection<T> for Vec<U>
where T: SliceLike + ?Sized, U: SliceMoveSource<T>,

Source§

fn move_all_elements<F>(self, f: F)
where F: FnMut(<T as SliceLike>::Element),

Implementors§

Source§

impl<T, U> SliceMoveSourceCollection<T> for U
where T: SliceLike + ?Sized, U: Array, <U as Array>::Item: SliceMoveSource<T>,