Trait vector2math::Pair
source · pub trait Pair: Sized {
type Item;
// Required methods
fn into_pair(self) -> (Self::Item, Self::Item);
fn from_items(a: Self::Item, b: Self::Item) -> Self;
fn first(&self) -> Self::Item;
fn second(&self) -> Self::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 { ... }
fn pair_iter(self) -> Chain2<Self::Item> { ... }
}
Expand description
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.
Required Associated Types§
Required Methods§
sourcefn from_items(a: Self::Item, b: Self::Item) -> Self
fn from_items(a: Self::Item, b: Self::Item) -> Self
Create a pair from two items