Trait reactivate::Merge

source ·
pub trait Merge {
    type Output;

    // Required method
    fn merge(self) -> Reactive<Self::Output>;
}
Expand description

This trait is used for implementing variadic generics.

The main goal is to convert a tuple (can be implemented for other types too) of reactives of arbitrary size (&Reactive<usize>, &Reactive<String>, &Reactive<f64>, ...)

to a tuple of their inner values (usize, String, f64, ...)

Default implementations for tuples is already provided (see impl_merge_for_tuple macro)

use reactivate::{Reactive, Merge};

let r1: Reactive<usize> = Reactive::default();
let r2: Reactive<String> = Reactive::default();
let r3: Reactive<f64> = Reactive::default();

let r: Reactive<(usize, String, f64)> = (&r1, &r2, &r3).merge();

Required Associated Types§

Required Methods§

source

fn merge(self) -> Reactive<Self::Output>

Implementations on Foreign Types§

source§

impl<T0, T1, T2> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5, T6> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>, &Reactive<T6>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static, T6: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>, &Reactive<T6>, &Reactive<T7>, &Reactive<T8>, &Reactive<T9>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static, T6: Clone + Default + Send + 'static, T7: Clone + Default + Send + 'static, T8: Clone + Default + Send + 'static, T9: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>, &Reactive<T6>, &Reactive<T7>, &Reactive<T8>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static, T6: Clone + Default + Send + 'static, T7: Clone + Default + Send + 'static, T8: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>, &Reactive<T6>, &Reactive<T7>, &Reactive<T8>, &Reactive<T9>, &Reactive<T10>, &Reactive<T11>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static, T6: Clone + Default + Send + 'static, T7: Clone + Default + Send + 'static, T8: Clone + Default + Send + 'static, T9: Clone + Default + Send + 'static, T10: Clone + Default + Send + 'static, T11: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>, &Reactive<T6>, &Reactive<T7>, &Reactive<T8>, &Reactive<T9>, &Reactive<T10>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static, T6: Clone + Default + Send + 'static, T7: Clone + Default + Send + 'static, T8: Clone + Default + Send + 'static, T9: Clone + Default + Send + 'static, T10: Clone + Default + Send + 'static,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Merge for (&Reactive<T0>, &Reactive<T1>, &Reactive<T2>, &Reactive<T3>, &Reactive<T4>, &Reactive<T5>, &Reactive<T6>, &Reactive<T7>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static, T2: Clone + Default + Send + 'static, T3: Clone + Default + Send + 'static, T4: Clone + Default + Send + 'static, T5: Clone + Default + Send + 'static, T6: Clone + Default + Send + 'static, T7: Clone + Default + Send + 'static,

source§

impl<T0, T1> Merge for (&Reactive<T0>, &Reactive<T1>)where T0: Clone + Default + Send + 'static, T1: Clone + Default + Send + 'static,

§

type Output = (T0, T1)

source§

fn merge(self) -> Reactive<Self::Output>

Implementors§