Trait futures_signals::signal::Signal[][src]

#[must_use = "Signals do nothing unless polled"]
pub trait Signal {
    type Item;
    fn poll_change(
        self: Pin<&mut Self>,
        cx: &mut Context<'_>
    ) -> Poll<Option<Self::Item>>; }

Associated Types

Loading content...

Required methods

fn poll_change(
    self: Pin<&mut Self>,
    cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>
[src]

Loading content...

Implementations on Foreign Types

impl<'a, A: ?Sized> Signal for &'a mut A where
    A: Signal + Unpin
[src]

type Item = A::Item

impl<A: ?Sized> Signal for Box<A> where
    A: Signal + Unpin
[src]

type Item = A::Item

impl<A> Signal for Pin<A> where
    A: Unpin + DerefMut,
    A::Target: Signal
[src]

type Item = <<A as Deref>::Target as Signal>::Item

Loading content...

Implementors

impl<A> Signal for IsEmpty<A> where
    A: SignalVec
[src]

type Item = bool

impl<A> Signal for Len<A> where
    A: SignalVec
[src]

type Item = usize

impl<A> Signal for SumSignal<A> where
    A: SignalVec,
    A::Item: for<'a> Sum<&'a A::Item>, 
[src]

type Item = A::Item

impl<A> Signal for ToSignalCloned<A> where
    A: SignalVec
[src]

type Item = Vec<A::Item>

impl<A> Signal for Always<A>[src]

type Item = A

impl<A> Signal for BroadcasterSignal<A> where
    A: Signal,
    A::Item: Copy
[src]

type Item = A::Item

impl<A> Signal for BroadcasterSignalCloned<A> where
    A: Signal,
    A::Item: Clone
[src]

type Item = A::Item

impl<A> Signal for Dedupe<A> where
    A: Signal,
    A::Item: PartialEq + Copy
[src]

type Item = A::Item

impl<A> Signal for DedupeCloned<A> where
    A: Signal,
    A::Item: PartialEq + Clone
[src]

type Item = A::Item

impl<A> Signal for Eq<A> where
    A: Signal,
    A::Item: PartialEq
[src]

type Item = bool

impl<A> Signal for First<A> where
    A: Signal
[src]

type Item = A::Item

impl<A> Signal for Flatten<A> where
    A: Signal,
    A::Item: Signal
[src]

type Item = <A::Item as Signal>::Item

impl<A> Signal for FromFuture<A> where
    A: Future
[src]

type Item = Option<A::Output>

impl<A> Signal for FromStream<A> where
    A: Stream
[src]

type Item = Option<A::Item>

impl<A> Signal for Neq<A> where
    A: Signal,
    A::Item: PartialEq
[src]

type Item = bool

impl<A> Signal for Receiver<A>[src]

type Item = A

impl<A, B> Signal for Inspect<A, B> where
    A: Signal,
    B: FnMut(&A::Item), 
[src]

type Item = A::Item

impl<A, B, C> Signal for DedupeMap<A, B> where
    A: Signal,
    A::Item: PartialEq,
    B: FnMut(&mut A::Item) -> C, 
[src]

type Item = C

impl<A, B, C> Signal for FilterMap<A, B> where
    A: Signal,
    B: FnMut(A::Item) -> Option<C>, 
[src]

type Item = Option<C>

impl<A, B, C> Signal for Map<A, B> where
    A: Signal,
    B: FnMut(A::Item) -> C, 
[src]

type Item = C

impl<A, B, C> Signal for MapFuture<A, B, C> where
    A: Signal,
    B: Future,
    C: FnMut(A::Item) -> B, 
[src]

type Item = Option<B::Output>

impl<A, B, C> Signal for Switch<A, B, C> where
    A: Signal,
    B: Signal,
    C: FnMut(A::Item) -> B, 
[src]

type Item = B::Item

impl<A, B, C> Signal for Throttle<A, B, C> where
    A: Signal,
    B: Future<Output = ()>,
    C: FnMut() -> B, 
[src]

type Item = A::Item

impl<A, B, F> Signal for ToSignalMap<A, F> where
    A: SignalVec,
    F: FnMut(&[A::Item]) -> B, 
[src]

type Item = B

impl<A, B, F> Signal for MutableSignalRef<A, F> where
    F: FnMut(&A) -> B, 
[src]

type Item = B

impl<A: Clone> Signal for MutableSignalCloned<A>[src]

type Item = A

impl<A: Copy> Signal for MutableSignal<A>[src]

type Item = A

impl<M> Signal for MapWatchKeySignal<M> where
    M: SignalMap,
    M::Key: PartialEq,
    M::Value: Clone
[src]

type Item = Option<M::Value>

Loading content...