Trait ecstatic::traits::Flatten[][src]

pub trait Flatten: Sealed {
    type Flattened;
    fn flatten(self) -> Self::Flattened;
fn nest(v: Self::Flattened) -> Self; }
Expand description

Inverse of Nest.

Associated Types

type Flattened[src]

Equivalent flat tuple type.

Required methods

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

Convert self to its flat representation.

fn nest(v: Self::Flattened) -> Self[src]

Convert a flat tuple to its nested representation.

Implementations on Foreign Types

impl<A> Flatten for (A, ())[src]

type Flattened = (A,)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B> Flatten for (A, (B, ()))[src]

type Flattened = (A, B)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C> Flatten for (A, (B, (C, ())))[src]

type Flattened = (A, B, C)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D> Flatten for (A, (B, (C, (D, ()))))[src]

type Flattened = (A, B, C, D)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E> Flatten for (A, (B, (C, (D, (E, ())))))[src]

type Flattened = (A, B, C, D, E)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F> Flatten for (A, (B, (C, (D, (E, (F, ()))))))[src]

type Flattened = (A, B, C, D, E, F)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G> Flatten for (A, (B, (C, (D, (E, (F, (G, ())))))))[src]

type Flattened = (A, B, C, D, E, F, G)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, ()))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, ())))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, ()))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, ())))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, ()))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, ())))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, ()))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, ())))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, ()))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, ())))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, ()))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, ())))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, ()))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, ())))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, ()))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, ())))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, ()))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, ())))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, ()))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, (AA, ())))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, (AA, (BB, ()))))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, (AA, (BB, (CC, ())))))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC, DD> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, (AA, (BB, (CC, (DD, ()))))))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC, DD)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC, DD, EE> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, (AA, (BB, (CC, (DD, (EE, ())))))))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC, DD, EE)

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

fn nest(v: Self::Flattened) -> Self[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC, DD, EE, FF> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, (I, (J, (K, (L, (M, (N, (O, (P, (Q, (R, (S, (T, (U, (V, (W, (X, (Y, (Z, (AA, (BB, (CC, (DD, (EE, (FF, ()))))))))))))))))))))))))))))))))[src]

type Flattened = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, BB, CC, DD, EE, FF)

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

fn nest(v: Self::Flattened) -> Self[src]

Implementors