BinTuple

Trait BinTuple 

Source
pub trait BinTuple {
    type LeftAssociated;
    type RightAssociated;
}
Expand description

Reshape the linear tuple type to a binary tree, either left associated or right associated.

§Examples

use tuplex::*;

let _: ((((),bool), i32), String) = <(bool, i32, String) as BinTuple>::LeftAssociated::default();
let _: (bool, (i32, (String,()))) = <(bool, i32, String) as BinTuple>::RightAssociated::default();

Required Associated Types§

Implementations on Foreign Types§

Source§

impl BinTuple for ()

Source§

impl<RemainL, RemainR, T0> BinTuple for (T0,)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1> BinTuple for (T0, T1)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2> BinTuple for (T0, T1, T2)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3> BinTuple for (T0, T1, T2, T3)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4> BinTuple for (T0, T1, T2, T3, T4)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5> BinTuple for (T0, T1, T2, T3, T4, T5)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6> BinTuple for (T0, T1, T2, T3, T4, T5, T6)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Source§

impl<RemainL, RemainR, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> BinTuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)
where Self: PopFront<Remain = RemainR> + PopBack<Remain = RemainL>, RemainL: BinTuple, RemainR: BinTuple,

Implementors§