Transpose

Trait Transpose 

Source
pub trait Transpose {
    type Output;

    // Required method
    fn transpose(self) -> Self::Output;
}
Expand description

Transposition of nested container types.

Required Associated Types§

Required Methods§

Source

fn transpose(self) -> Self::Output

Implementations on Foreign Types§

Source§

impl<K, L, V> Transpose for HashMap<K, HashMap<L, V>>
where K: Eq + Hash + Clone, L: Eq + Hash,

Source§

type Output = HashMap<L, HashMap<K, V>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<K, V> Transpose for Vec<HashMap<K, V>>
where K: Eq + Hash + Clone,

Source§

type Output = Option<HashMap<K, Vec<V>>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<K, V> Transpose for HashMap<K, Vec<V>>
where K: Eq + Hash + Clone,

Source§

type Output = Vec<HashMap<K, V>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T> Transpose for Option<Option<T>>

Source§

impl<T> Transpose for Option<Vec<T>>

Source§

type Output = Vec<Option<T>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T> Transpose for Vec<Option<T>>

Source§

type Output = Option<Vec<T>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T> Transpose for Vec<Vec<T>>

Source§

type Output = Option<Vec<Vec<T>>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T, E> Transpose for Result<Vec<T>, E>

Source§

type Output = Vec<Result<T, E>>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T, E> Transpose for Vec<Result<T, E>>

Source§

type Output = Result<Vec<T>, E>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T, E, F> Transpose for Result<Result<T, E>, F>

Source§

type Output = Result<Result<T, F>, E>

Source§

fn transpose(self) -> Self::Output

Source§

impl<T, const X: usize, const Y: usize> Transpose for [[T; X]; Y]

Source§

type Output = [[T; Y]; X]

Source§

fn transpose(self) -> Self::Output

Implementors§