Trait vector2math::Pair [−][src]
Trait for defining a pair of items of the same type.
This trait is meant to generalize having two similar things.
It is implemented for (T, T)
and [T; 2]
with Item = T
.
However, because a pair does not necessarily have to be an
actual pair It is also implemented for (T, T, T, T)
and
[T; 4]
with Item = (T, T)
and Item = [T; 2]
respectively.
Associated Types
Loading content...Required methods
fn into_pair(self) -> (Self::Item, Self::Item)
[src]
Get the pair
fn from_items(a: Self::Item, b: Self::Item) -> Self
[src]
Create a pair from two items
fn first(&self) -> Self::Item
[src]
Get the first item
fn second(&self) -> Self::Item
[src]
Get the second item
Provided methods
fn pairwise<O, P, F, R>(self, other: O, f: F) -> P where
O: Pair,
P: Pair<Item = R>,
F: Fn(Self::Item, O::Item) -> R,
[src]
O: Pair,
P: Pair<Item = R>,
F: Fn(Self::Item, O::Item) -> R,
Apply a function pairwise to the items of two pairs
fn pair_iter(self) -> Chain2<Self::Item>
[src]
Get an iterator over the pair’s items
Implementations on Foreign Types
impl<T> Pair for (T, T) where
T: Clone,
[src]
T: Clone,
type Item = T
fn into_pair(self) -> (Self::Item, Self::Item)
[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self
[src]
fn first(&self) -> Self::Item
[src]
fn second(&self) -> Self::Item
[src]
impl<T> Pair for [T; 2] where
T: Copy,
[src]
T: Copy,
type Item = T
fn into_pair(self) -> (Self::Item, Self::Item)
[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self
[src]
fn first(&self) -> Self::Item
[src]
fn second(&self) -> Self::Item
[src]
impl<T> Pair for (T, T, T, T) where
T: Clone,
[src]
T: Clone,
type Item = (T, T)
fn into_pair(self) -> (Self::Item, Self::Item)
[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self
[src]
fn first(&self) -> Self::Item
[src]
fn second(&self) -> Self::Item
[src]
impl<T> Pair for [T; 4] where
T: Copy,
[src]
T: Copy,
type Item = [T; 2]
fn into_pair(self) -> (Self::Item, Self::Item)
[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self
[src]
fn first(&self) -> Self::Item
[src]
fn second(&self) -> Self::Item
[src]
impl<T> Pair for (T, T, T, T, T, T) where
T: Clone,
[src]
T: Clone,
type Item = (T, T, T)
fn into_pair(self) -> (Self::Item, Self::Item)
[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self
[src]
fn first(&self) -> Self::Item
[src]
fn second(&self) -> Self::Item
[src]
impl<T> Pair for [T; 6] where
T: Copy,
[src]
T: Copy,