Trait enumx::ExchangeFrom[][src]

pub trait ExchangeFrom<Src, Index> {
    fn exchange_from(src: Src) -> Self;
}

Constructs an enum from one of its variants, or from an enum composed of a subset of its variants.

Required methods

fn exchange_from(src: Src) -> Self[src]

Loading content...

Implementors

impl<Enum, Variant> ExchangeFrom<Variant, [(); 0]> for Enum where
    Enum: FromVariant<Variant, [(); 0]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 1]> for Enum where
    Enum: FromVariant<Variant, [(); 1]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 2]> for Enum where
    Enum: FromVariant<Variant, [(); 2]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 3]> for Enum where
    Enum: FromVariant<Variant, [(); 3]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 4]> for Enum where
    Enum: FromVariant<Variant, [(); 4]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 5]> for Enum where
    Enum: FromVariant<Variant, [(); 5]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 6]> for Enum where
    Enum: FromVariant<Variant, [(); 6]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 7]> for Enum where
    Enum: FromVariant<Variant, [(); 7]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 8]> for Enum where
    Enum: FromVariant<Variant, [(); 8]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 9]> for Enum where
    Enum: FromVariant<Variant, [(); 9]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 10]> for Enum where
    Enum: FromVariant<Variant, [(); 10]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 11]> for Enum where
    Enum: FromVariant<Variant, [(); 11]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 12]> for Enum where
    Enum: FromVariant<Variant, [(); 12]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 13]> for Enum where
    Enum: FromVariant<Variant, [(); 13]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 14]> for Enum where
    Enum: FromVariant<Variant, [(); 14]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 15]> for Enum where
    Enum: FromVariant<Variant, [(); 15]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 16]> for Enum where
    Enum: FromVariant<Variant, [(); 16]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 17]> for Enum where
    Enum: FromVariant<Variant, [(); 17]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 18]> for Enum where
    Enum: FromVariant<Variant, [(); 18]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 19]> for Enum where
    Enum: FromVariant<Variant, [(); 19]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 20]> for Enum where
    Enum: FromVariant<Variant, [(); 20]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 21]> for Enum where
    Enum: FromVariant<Variant, [(); 21]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 22]> for Enum where
    Enum: FromVariant<Variant, [(); 22]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 23]> for Enum where
    Enum: FromVariant<Variant, [(); 23]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 24]> for Enum where
    Enum: FromVariant<Variant, [(); 24]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 25]> for Enum where
    Enum: FromVariant<Variant, [(); 25]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 26]> for Enum where
    Enum: FromVariant<Variant, [(); 26]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 27]> for Enum where
    Enum: FromVariant<Variant, [(); 27]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 28]> for Enum where
    Enum: FromVariant<Variant, [(); 28]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 29]> for Enum where
    Enum: FromVariant<Variant, [(); 29]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 30]> for Enum where
    Enum: FromVariant<Variant, [(); 30]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 31]> for Enum where
    Enum: FromVariant<Variant, [(); 31]>, 
[src]

impl<Enum, Variant> ExchangeFrom<Variant, [(); 32]> for Enum where
    Enum: FromVariant<Variant, [(); 32]>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _I15, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _I15)>> for Dest where
    Src: Proto<Type = __16<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13> + ExchangeFrom<_T14, _I14> + ExchangeFrom<_T15, _I15>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14)>> for Dest where
    Src: Proto<Type = __15<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13> + ExchangeFrom<_T14, _I14>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13)>> for Dest where
    Src: Proto<Type = __14<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12)>> for Dest where
    Src: Proto<Type = __13<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11)>> for Dest where
    Src: Proto<Type = __12<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10)>> for Dest where
    Src: Proto<Type = __11<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9)>> for Dest where
    Src: Proto<Type = __10<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8)>> for Dest where
    Src: Proto<Type = __9<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7)>> for Dest where
    Src: Proto<Type = __8<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _T0, _T1, _T2, _T3, _T4, _T5, _T6, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6)>> for Dest where
    Src: Proto<Type = __7<_T0, _T1, _T2, _T3, _T4, _T5, _T6>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _I5, _T0, _T1, _T2, _T3, _T4, _T5, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5)>> for Dest where
    Src: Proto<Type = __6<_T0, _T1, _T2, _T3, _T4, _T5>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5>, 
[src]

impl<_I0, _I1, _I2, _I3, _I4, _T0, _T1, _T2, _T3, _T4, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4)>> for Dest where
    Src: Proto<Type = __5<_T0, _T1, _T2, _T3, _T4>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4>, 
[src]

impl<_I0, _I1, _I2, _I3, _T0, _T1, _T2, _T3, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3)>> for Dest where
    Src: Proto<Type = __4<_T0, _T1, _T2, _T3>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3>, 
[src]

impl<_I0, _I1, _I2, _T0, _T1, _T2, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2)>> for Dest where
    Src: Proto<Type = __3<_T0, _T1, _T2>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2>, 
[src]

impl<_I0, _I1, _T0, _T1, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1)>> for Dest where
    Src: Proto<Type = __2<_T0, _T1>>,
    Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1>, 
[src]

impl<_I0, _T0, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0,)>> for Dest where
    Src: Proto<Type = __1<_T0>>,
    Dest: ExchangeFrom<_T0, _I0>, 
[src]

Loading content...