Trait mona::Flatten[][src]

pub trait Flatten {
    type Output;
    fn flatten(self) -> Self::Output;
}
Expand description

The operation that flattens nested container types.

Associated Types

Required methods

fn flatten(self) -> Self::Output[src]

Implementations on Foreign Types

impl<T> Flatten for Vec<Vec<T>>[src]

type Output = Vec<T>

fn flatten(self) -> Self::Output[src]

impl<T> Flatten for Vec<Option<T>>[src]

type Output = Vec<T>

fn flatten(self) -> Self::Output[src]

impl<K, L, V> Flatten for HashMap<K, HashMap<L, V>> where
    K: Eq + Hash + Clone,
    L: Eq + Hash
[src]

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

fn flatten(self) -> Self::Output[src]

impl<K, V> Flatten for HashMap<K, Vec<V>> where
    K: Eq + Hash + Clone
[src]

type Output = HashMap<(K, usize), V>

fn flatten(self) -> Self::Output[src]

impl<K, V> Flatten for Vec<HashMap<K, V>> where
    K: Eq + Hash + Clone
[src]

type Output = HashMap<(usize, K), V>

fn flatten(self) -> Self::Output[src]

Implementors