[−][src]Trait vector2math::Pair
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
type Item
The type of the pair's item
Required methods
fn to_pair(self) -> (Self::Item, Self::Item)
Get the pair
fn from_items(a: Self::Item, b: Self::Item) -> Self
Create a pair from two items
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,
O: Pair,
P: Pair<Item = R>,
F: Fn(Self::Item, O::Item) -> R,
Apply a function pairwise to the items of two pairs
fn iter(self) -> Chain2<Self::Item>
Get an iterator over the pair's items
Implementations on Foreign Types
impl<T> Pair for (T, T)[src]
type Item = T
fn to_pair(self) -> (Self::Item, Self::Item)[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self[src]
impl<T> Pair for [T; 2] where
T: Copy, [src]
T: Copy,
type Item = T
fn to_pair(self) -> (Self::Item, Self::Item)[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self[src]
impl<T> Pair for (T, T, T, T)[src]
type Item = (T, T)
fn to_pair(self) -> (Self::Item, Self::Item)[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self[src]
impl<T> Pair for [T; 4] where
T: Copy, [src]
T: Copy,
type Item = [T; 2]
fn to_pair(self) -> (Self::Item, Self::Item)[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self[src]
impl<T> Pair for (T, T, T, T, T, T)[src]
type Item = (T, T, T)
fn to_pair(self) -> (Self::Item, Self::Item)[src]
fn from_items(a: Self::Item, b: Self::Item) -> Self[src]
impl<T> Pair for [T; 6] where
T: Copy, [src]
T: Copy,