Struct cfrp::primitives::lift2::Lift2Signal [] [src]

pub struct Lift2Signal<F, A, B, C> where F: 'static + Send + Fn(Value<A>, Value<B>) -> C, A: 'static + Send + Clone, B: 'static + Send + Clone, C: 'static + Send + Clone {
    // some fields omitted
}

The result of a lift2 operation

Methods

impl<F, A, B, C> Lift2Signal<F, A, B, C> where F: 'static + Send + Fn(Value<A>, Value<B>) -> C, A: 'static + Send + Clone, B: 'static + Send + Clone, C: 'static + Send + Clone

fn new(config: Config, left: Box<Signal<A>>, right: Box<Signal<B>>, f: F) -> Self

Trait Implementations

impl<F, A, B, C> Signal<C> for Lift2Signal<F, A, B, C> where F: 'static + Send + Fn(Value<A>, Value<B>) -> C, A: 'static + Send + Clone, B: 'static + Send + Clone, C: 'static + Send + Clone

fn config(&self) -> Config

fn initial(&self) -> SignalType<C>

fn push_to(self: Box<Self>, target: Option<Box<Push<C>>>)

fn init(&mut self)

impl<F, A, B, C> SignalExt<C> for Lift2Signal<F, A, B, C> where F: 'static + Send + Fn(Value<A>, Value<B>) -> C, A: 'static + Send + Clone, B: 'static + Send + Clone, C: 'static + Send + Clone

fn lift<F, B>(self, f: F) -> LiftSignal<F, A, B> where F: 'static + Send + Fn(A) -> B, B: 'static + Send + Clone

fn lift2<F, SB, B, C>(self, right: SB, f: F) -> Lift2Signal<F, A, B, C> where SB: 'static + Signal<B>, F: 'static + Send + Fn(Value<A>, Value<B>) -> C, B: 'static + Send + Clone, C: 'static + Send + Clone

fn fold<F, B>(self, initial: B, f: F) -> FoldSignal<F, A, B> where F: 'static + Send + Fn(B, A) -> B, B: 'static + Send + Clone

fn add_to(self, builder: &Builder) -> Branch<A>

fn async(self, builder: &Builder) -> Branch<A>

fn map<F, B>(self, f: F) -> LiftSignal<F, A, B> where F: 'static + Send + Fn(A) -> B, B: 'static + Send + Clone

fn zip<SB, B>(self, right: SB) -> Box<Signal<(Value<A>, Value<B>)>> where SB: 'static + Signal<B>, B: 'static + Send + Clone

fn enumerate(self) -> Box<Signal<(usize, A)>>

fn filter<F>(self, f: F) -> Box<Signal<Option<A>>> where F: 'static + Send + Fn(&A) -> bool

fn inspect<F>(self, f: F) -> Box<Signal<A>> where F: 'static + Send + Fn(&A) -> bool