Trait multiversx_sc::tuple_util::NestedTupleFlatten

source ·
pub trait NestedTupleFlatten: NestedTuple {
    type Flattened;
    type Unpacked;

    // Required methods
    fn flatten(self) -> Self::Flattened;
    fn flatten_unpack(self) -> Self::Unpacked;
}
Expand description

Defines conversion of a nested tuple list to a regular tuple.

Required Associated Types§

Required Methods§

source

fn flatten(self) -> Self::Flattened

Converts a nested tuple list to a regular tuple.

source

fn flatten_unpack(self) -> Self::Unpacked

Same as flatten, converts a nested tuple list to a regular tuple, but additionally, it unpacks singleton tuples into their content ((item,) -> item).

Implementations on Foreign Types§

source§

impl NestedTupleFlatten for ()

§

type Flattened = ()

§

type Unpacked = ()

source§

fn flatten(self) -> Self::Flattened

source§

fn flatten_unpack(self) -> Self::Unpacked

source§

impl<T1, T2> NestedTupleFlatten for (T1, (T2, ()))

source§

impl<T1, T2, T3> NestedTupleFlatten for (T1, (T2, (T3, ())))

source§

impl<T1, T2, T3, T4> NestedTupleFlatten for (T1, (T2, (T3, (T4, ()))))

source§

impl<T1, T2, T3, T4, T5> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, ())))))

source§

impl<T1, T2, T3, T4, T5, T6> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, ()))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, ())))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, ()))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, ())))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, ()))))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, (T11, ())))))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, (T11, (T12, ()))))))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, (T11, (T12, (T13, ())))))))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, (T11, (T12, (T13, (T14, ()))))))))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, (T11, (T12, (T13, (T14, (T15, ())))))))))))))))

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> NestedTupleFlatten for (T1, (T2, (T3, (T4, (T5, (T6, (T7, (T8, (T9, (T10, (T11, (T12, (T13, (T14, (T15, (T16, ()))))))))))))))))

source§

impl<T> NestedTupleFlatten for (T, ())

§

type Flattened = (T,)

§

type Unpacked = T

source§

fn flatten(self) -> Self::Flattened

source§

fn flatten_unpack(self) -> Self::Unpacked

Implementors§