Trait tuple_map::TupleMap12
[−]
[src]
pub trait TupleMap12 { type Item; fn all<F>(self, f: F) -> bool
where
F: FnMut(Self::Item) -> bool; fn any<F>(self, f: F) -> bool
where
F: FnMut(Self::Item) -> bool; fn by_ref(
&self
) -> (&Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item); fn by_ref_mut(
&mut self
) -> (&mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item); fn fold<B, F>(self, init: B, f: F) -> B
where
F: FnMut(B, Self::Item) -> B; fn for_each<F>(self, f: F)
where
F: FnMut(Self::Item); fn into_vec(self) -> Vec<Self::Item>; fn map<B, F>(self, f: F) -> (B, B, B, B, B, B, B, B, B, B, B, B)
where
F: FnMut(Self::Item) -> B; fn cloned(
&self
) -> (Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item)
where
Self::Item: Clone, { ... } }
Associated Types
type Item
Required Methods
fn all<F>(self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
F: FnMut(Self::Item) -> bool,
Checks if every element of tuple matches a predicate, like
std::iter::Iterator::all
.
This method take a closure returns true
or false
, and tries to apply this
closure to all elements of tuple. If and only if all of them returns true
,
this method return true
.
Examples
let a = (3, 9, 12, ...); assert!(a.all(|x| x % 3 == 0)); assert!(!a.all(|x| x % 4 == 0));
fn any<F>(self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
F: FnMut(Self::Item) -> bool,
Checks if any element of tuple matches a predicate, like
std::iter::Iterator::any
.
This method take a closure returns true
or false
, and tries to apply this
closure to all elements of tuple. If any of them returns true
,
this method return true
.
Examples
let a = (3, 9, 12, ...); assert!(a.any(|x| x % 4 == 0)); assert!(!a.any(|x| x % 7 == 0));
fn by_ref(
&self
) -> (&Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item)
&self
) -> (&Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item)
Takes &(a, a, a, ...)
and returns (&a, &a, &a, ...)
Examples
let a = (3, 3, 3, ...); assert_eq!(a.by_ref(), (&3, &3, &3, ...));
fn by_ref_mut(
&mut self
) -> (&mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item)
&mut self
) -> (&mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item)
Takes &mut (a, a, a, ...)
and returns (&mut a, &mut a, &mut a, ...)
Examples
let a = (3, 3, 3, ...); assert_eq!(a.by_ref(), (&mut 3, &mut 3, &mut 3, ...));
fn fold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
F: FnMut(B, Self::Item) -> B,
Takes a closure f
and applies it to all elements to tuple, and produce single value.
This is similar to std::iter::Iterator::fold
Example
let a = (3, 4, 5, ...) let sum = a.fold(0, |sum, x| sum + x);
fn for_each<F>(self, f: F) where
F: FnMut(Self::Item),
F: FnMut(Self::Item),
Takes a closure f
and applies it to all elements to tuple.
f
can cause side effect(because it's FnMut
), but this method return nothing.
Similar to std::iter::Iterator::for_each
Example
let a = (3, 4, 5, ...); let mut sum = 0; a.for_each(|x| sum += x);
fn into_vec(self) -> Vec<Self::Item>
Convert tuple into Vec.
Example
let a = (3, 4, 5, ...) assert_eq(a.into_vec(), vec![3, 4, 5, ...])
fn map<B, F>(self, f: F) -> (B, B, B, B, B, B, B, B, B, B, B, B) where
F: FnMut(Self::Item) -> B,
F: FnMut(Self::Item) -> B,
Takes a closure f
and (a, a, a, ...), then returns (f(a), f(a), f(a), ...).
Similar to std::iter::Iterator::map
.
Example
let a = (3, 4, 5, ...); assert_eq!(a.map(|x| x * 2), (6, 8, 10, ...));
Provided Methods
fn cloned(
&self
) -> (Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item) where
Self::Item: Clone,
&self
) -> (Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item) where
Self::Item: Clone,
Takes &(a, a, a, ...)
and returns (a, a, a, ...)
Examples
let a = (3, 3, 3, ..,); assert_eq!(a, a.clone());
Implementations on Foreign Types
impl<T> TupleMap12 for (T, T, T, T, T, T, T, T, T, T, T, T)
[src]
type Item = T
fn any<F>(self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
[src]
F: FnMut(Self::Item) -> bool,
fn all<F>(self, f: F) -> bool where
F: FnMut(Self::Item) -> bool,
[src]
F: FnMut(Self::Item) -> bool,
fn by_ref(
&self
) -> (&Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item)
[src]
&self
) -> (&Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item, &Self::Item)
fn by_ref_mut(
&mut self
) -> (&mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item)
[src]
&mut self
) -> (&mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item, &mut Self::Item)
fn fold<B, F>(self, init: B, f: F) -> B where
F: FnMut(B, Self::Item) -> B,
[src]
F: FnMut(B, Self::Item) -> B,
fn for_each<F>(self, f: F) where
F: FnMut(Self::Item),
[src]
F: FnMut(Self::Item),
fn into_vec(self) -> Vec<Self::Item>
[src]
fn map<B, F>(self, f: F) -> (B, B, B, B, B, B, B, B, B, B, B, B) where
F: FnMut(Self::Item) -> B,
[src]
F: FnMut(Self::Item) -> B,
fn cloned(
&self
) -> (Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item) where
Self::Item: Clone,
[src]
&self
) -> (Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item, Self::Item) where
Self::Item: Clone,