Trait warp::generic::Tuple

source ·
pub trait Tuple: Sized {
    type HList: HList<Tuple = Self>;

    // Required method
    fn hlist(self) -> Self::HList;

    // Provided method
    fn combine<T>(
        self,
        other: T,
    ) -> <<<Self as Tuple>::HList as Combine<<T as Tuple>::HList>>::Output as HList>::Tuple
       where Self: Sized,
             T: Tuple,
             Self::HList: Combine<T::HList> { ... }
}

Required Associated Types§

source

type HList: HList<Tuple = Self>

Required Methods§

source

fn hlist(self) -> Self::HList

Provided Methods§

source

fn combine<T>( self, other: T, ) -> <<<Self as Tuple>::HList as Combine<<T as Tuple>::HList>>::Output as HList>::Tuple
where Self: Sized, T: Tuple, Self::HList: Combine<T::HList>,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Tuple for ()

§

type HList = ()

source§

fn hlist(self) -> Self::HList

source§

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

§

type HList = Product<T1, Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

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

§

type HList = Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

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

§

type HList = Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

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

§

type HList = Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Tuple for (T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

§

type HList = Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Tuple for (T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

§

type HList = Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Tuple for (T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

§

type HList = Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T8, T9, T10, T11, T12, T13, T14, T15, T16> Tuple for (T8, T9, T10, T11, T12, T13, T14, T15, T16)

§

type HList = Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T9, T10, T11, T12, T13, T14, T15, T16> Tuple for (T9, T10, T11, T12, T13, T14, T15, T16)

§

type HList = Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T10, T11, T12, T13, T14, T15, T16> Tuple for (T10, T11, T12, T13, T14, T15, T16)

§

type HList = Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T11, T12, T13, T14, T15, T16> Tuple for (T11, T12, T13, T14, T15, T16)

§

type HList = Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T12, T13, T14, T15, T16> Tuple for (T12, T13, T14, T15, T16)

§

type HList = Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T13, T14, T15, T16> Tuple for (T13, T14, T15, T16)

§

type HList = Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T14, T15, T16> Tuple for (T14, T15, T16)

§

type HList = Product<T14, Product<T15, Product<T16, ()>>>

source§

fn hlist(self) -> Self::HList

source§

impl<T15, T16> Tuple for (T15, T16)

§

type HList = Product<T15, Product<T16, ()>>

source§

fn hlist(self) -> Self::HList

source§

impl<T16> Tuple for (T16,)

§

type HList = Product<T16, ()>

source§

fn hlist(self) -> Self::HList

Implementors§