Skip to main content

Observable

Trait Observable 

Source
pub trait Observable<'or, T, E> {
    type D: Disposable;

    // Required method
    fn subscribe(
        self,
        observer: impl Observer<T, E> + MaybeSend + 'or,
    ) -> Subscription<Self::D>;
}
Expand description

The Observable trait represents a source of events that can be observed by an Observer. See https://reactivex.io/documentation/observable.html

Required Associated Types§

Required Methods§

Source

fn subscribe( self, observer: impl Observer<T, E> + MaybeSend + 'or, ) -> Subscription<Self::D>

Subscribes an observer to this observable. When an observer is subscribed, it will start receiving events from the observable. The subscribe method returns a Subscription which can be used to unsubscribe the observer from the observable. We use Subscription struct instead of trait like impl Cancellable, because we need to cancel the subscription when the Subscription is dropped. It’s not possible to implement Drop for a trait object.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'or, 'sub, T, E> Observable<'or, T, E> for BoxedObservable<'or, 'sub, '_, T, E>

Source§

impl<'or, 'sub, T, E> Observable<'or, T, E> for CloneableBoxedObservable<'or, 'sub, '_, T, E>

Source§

impl<'or, C, T, E, OE> Observable<'or, C, E> for Collect<C, T, OE>
where C: Default + Extend<T> + MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<f32, OE>
where OE: Observable<'or, f32, E>,

Source§

type D = <OE as Observable<'or, f32, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<f64, OE>
where OE: Observable<'or, f64, E>,

Source§

type D = <OE as Observable<'or, f64, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<i8, OE>
where OE: Observable<'or, i8, E>,

Source§

type D = <OE as Observable<'or, i8, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<i16, OE>
where OE: Observable<'or, i16, E>,

Source§

type D = <OE as Observable<'or, i16, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<i32, OE>
where OE: Observable<'or, i32, E>,

Source§

type D = <OE as Observable<'or, i32, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<i64, OE>
where OE: Observable<'or, i64, E>,

Source§

type D = <OE as Observable<'or, i64, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<i128, OE>
where OE: Observable<'or, i128, E>,

Source§

type D = <OE as Observable<'or, i128, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<isize, OE>
where OE: Observable<'or, isize, E>,

Source§

type D = <OE as Observable<'or, isize, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<u8, OE>
where OE: Observable<'or, u8, E>,

Source§

type D = <OE as Observable<'or, u8, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<u16, OE>
where OE: Observable<'or, u16, E>,

Source§

type D = <OE as Observable<'or, u16, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<u32, OE>
where OE: Observable<'or, u32, E>,

Source§

type D = <OE as Observable<'or, u32, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<u64, OE>
where OE: Observable<'or, u64, E>,

Source§

type D = <OE as Observable<'or, u64, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<u128, OE>
where OE: Observable<'or, u128, E>,

Source§

type D = <OE as Observable<'or, u128, E>>::D

Source§

impl<'or, E, OE> Observable<'or, f64, E> for Average<usize, OE>
where OE: Observable<'or, usize, E>,

Source§

type D = <OE as Observable<'or, usize, E>>::D

Source§

impl<'or, E> Observable<'or, !, E> for Throw<E>

Source§

type D = ()

Source§

impl<'or, T0, T, E, OE, F> Observable<'or, T, E> for Map<T0, OE, F>
where OE: Observable<'or, T0, E>, F: FnMut(T0) -> T + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T0, E>>::D

Source§

impl<'or, T0, T, E, OE, OE1, F> Observable<'or, T, E> for ConcatMap<T0, OE, OE1, F>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T0, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, T, E> + MaybeSend + 'or, OE1::D: MaybeSend + 'or, F: FnMut(T0) -> OE1 + MaybeSend + 'or,

Source§

impl<'or, T0, T, E, OE, OE1, F> Observable<'or, T, E> for FlatMap<T0, OE, OE1, F>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T0, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or, F: FnMut(T0) -> OE1 + MaybeSend + 'or,

Source§

impl<'or, T0, T, E, OE, OE1, F> Observable<'or, T, E> for SwitchMap<T0, OE, OE1, F>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T0, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or, F: FnMut(T0) -> OE1 + MaybeSend + 'or,

Source§

impl<'or, T1, T2, E, OE1, OE2> Observable<'or, (T1, T2), E> for CombineLatest<OE1, OE2>
where T1: Clone + MaybeSend + 'or, T2: Clone + MaybeSend + 'or, E: MaybeSend + 'or, OE1: Observable<'or, T1, E>, OE1::D: MaybeSend + 'or, OE2: Observable<'or, T2, E>, OE2::D: MaybeSend + 'or,

Source§

impl<'or, T1, T2, E, OE1, OE2> Observable<'or, (T1, T2), E> for Zip<OE1, OE2>
where T1: MaybeSend + 'or, T2: MaybeSend + 'or, E: MaybeSend + 'or, OE1: Observable<'or, T1, E>, OE1::D: MaybeSend + 'or, OE2: Observable<'or, T2, E>, OE2::D: MaybeSend + 'or,

Source§

impl<'or, T, E0, E, OE, OE1, F> Observable<'or, T, E> for Catch<E0, OE, F>
where E: 'or, OE: Observable<'or, T, E0>, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or, F: FnOnce(E0) -> OE1 + MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E0>>::D, <OE1 as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, A, B> Observable<'or, T, E> for EitherObservable<A, B>
where A: Observable<'or, T, E>, B: Observable<'or, T, E>,

Source§

type D = EitherDisposal<BoundDropDisposal<<A as Observable<'or, T, E>>::D>, BoundDropDisposal<<B as Observable<'or, T, E>>::D>>

Source§

impl<'or, T, E, E1, OE, F> Observable<'or, T, E1> for MapErr<E, OE, F>
where OE: Observable<'or, T, E>, F: FnOnce(E) -> E1 + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, F, D> Observable<'or, T, E> for Create<F>
where D: Disposable, F: FnOnce(BoxedObserver<'or, T, E>) -> Subscription<D>,

Source§

type D = D

Source§

impl<'or, T, E, OE1, OE2> Observable<'or, T, E> for Concat<OE1, OE2>
where OE1: Observable<'or, T, E>, OE2: Observable<'or, T, E> + MaybeSend + 'or, OE2::D: MaybeSend + 'or,

Source§

type D = Disposal<<OE1 as Observable<'or, T, E>>::D, <OE2 as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE1, OE2> Observable<'or, T, E> for Merge<OE1, OE2>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or, OE2: Observable<'or, T, E>, OE2::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE1, OE2> Observable<'or, bool, E> for SequenceEqual<T, OE1, OE2>
where T: PartialEq + MaybeSend + 'or, E: MaybeSend + 'or, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or, OE2: Observable<'or, T, E>, OE2::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, C, F> Observable<'or, T, E> for Debug<OE, C, F>
where OE: Observable<'or, T, E>, C: Clone + MaybeSend + 'or, F: Fn(C, DebugEvent<'_, T, E>) + Clone + MaybeSend + 'or,

Source§

type D = DebugDisposal<BoundDropDisposal<<OE as Observable<'or, T, E>>::D>, C, F, T, E>

Source§

impl<'or, T, E, OE, F, D> Observable<'or, T, E> for HookOnSubscription<OE, F>
where OE: Observable<'or, T, E>, D: Disposable, F: FnOnce(OE, BoxedObserver<'or, T, E>) -> Subscription<D>,

Source§

type D = D

Source§

impl<'or, T, E, OE, F, K> Observable<'or, T, E> for Distinct<OE, F>
where OE: Observable<'or, T, E>, F: FnMut(&T) -> K + MaybeSend + 'or, K: Eq + Hash + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F, K> Observable<'or, T, E> for DistinctUntilChanged<OE, F>
where OE: Observable<'or, T, E>, F: FnMut(&T) -> K + MaybeSend + 'or, K: Eq + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F, K> Observable<'or, UnicastObservable<'or, T, E>, E> for GroupBy<OE, F, K>
where T: MaybeSend + 'or, E: Clone + MaybeSend + 'or, OE: Observable<'or, T, E>, F: FnMut(&T) -> K + MaybeSend + 'or, K: Eq + Hash + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for Defer<F>
where F: FnOnce() -> OE, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoAfterDisposal<OE, F>
where T: 'or, E: 'or, OE: Observable<'or, T, E>, F: FnOnce(),

Source§

type D = ChainDisposal<<OE as Observable<'or, T, E>>::D, CallbackDisposal<F>>

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoAfterNext<OE, F>
where T: Clone, OE: Observable<'or, T, E>, F: FnMut(T) + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoAfterSubscription<OE, F>
where T: 'or, E: 'or, OE: Observable<'or, T, E>, F: FnOnce(),

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoAfterTermination<OE, F>
where T: 'or, E: Clone + 'or, OE: Observable<'or, T, E>, F: FnOnce(Termination<E>) + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoBeforeDisposal<OE, F>
where T: 'or, E: 'or, OE: Observable<'or, T, E>, F: FnOnce(),

Source§

type D = ChainDisposal<CallbackDisposal<F>, <OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoBeforeNext<OE, F>
where OE: Observable<'or, T, E>, F: FnMut(&T) + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoBeforeSubscription<OE, F>
where T: 'or, E: 'or, OE: Observable<'or, T, E>, F: FnOnce(),

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for DoBeforeTermination<OE, F>
where T: 'or, E: 'or, OE: Observable<'or, T, E>, F: FnOnce(&Termination<E>) + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for Filter<OE, F>
where OE: Observable<'or, T, E>, F: FnMut(&T) -> bool + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for HookOnNext<OE, F>
where OE: Observable<'or, T, E>, F: FnMut(&mut dyn Observer<T, E>, T) -> Flow + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for HookOnTermination<OE, F>
where T: 'or, E: 'or, OE: Observable<'or, T, E>, F: FnOnce(BoxedObserver<'or, T, E>, Termination<E>) + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for SkipWhile<OE, F>
where OE: Observable<'or, T, E>, F: FnMut(&T) -> bool + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE, F> Observable<'or, T, E> for TakeWhile<OE, F>
where OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, F: FnMut(&T) -> bool + MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, F> Observable<'or, bool, E> for All<T, OE, F>
where OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, F: FnMut(T) -> bool + MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, I> Observable<'or, T, E> for Amb<I>
where I: IntoIterator<Item = OE>, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, I> Observable<'or, T, E> for StartWith<OE, I>
where OE: Observable<'or, T, E>, I: IntoIterator<Item = T>,

Source§

impl<'or, T, E, OE, OE1, F> Observable<'or, T, E> for Retry<OE, F>
where OE: Observable<'or, T, E>, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or, F: FnMut(E) -> RetryAction<E, OE1> + MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D, <OE1 as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, OE1> Observable<'or, T, E> for ConcatAll<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, OE1, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, T, E> + MaybeSend + 'or, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, T, E> for MergeAll<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, OE1, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, T, E> for Sample<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, (), E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, T, E> for SkipUntil<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, (), E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, T, E> for Switch<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, OE1, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, T, E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, T, E> for TakeUntil<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, (), E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, UnicastObservable<'or, T, E>, E> for Window<OE, OE1>
where T: MaybeSend + 'or, E: Clone + MaybeSend + 'or, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, (), E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, OE1> Observable<'or, Vec<T>, E> for Buffer<OE, OE1>
where T: MaybeSend + 'or, E: MaybeSend + 'or, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, OE1: Observable<'or, (), E>, OE1::D: MaybeSend + 'or,

Source§

impl<'or, T, E, OE, S> Observable<'or, T, E> for RefCount<'or, T, E, OE, S>
where OE: Observable<'or, T, E> + Clone, S: Subject<'or, T, E> + Clone + MaybeSend + 'or,

Source§

type D = Disposal<'or, T, E, OE, S>

Source§

impl<'or, T, E, OE, S> Observable<'static, T, E> for Debounce<'or, OE, S>
where T: MaybeSend + 'static, E: MaybeSend + 'static, OE: Observable<'or, T, E>, S: Scheduler + Clone + MaybeSend + 'static,

Source§

type D = Disposal<'or, <OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, S> Observable<'static, T, E> for Delay<'or, OE, S>
where T: MaybeSend + 'static, E: MaybeSend + 'static, OE: Observable<'or, T, E>, S: Scheduler + Clone + MaybeSend + 'static,

Source§

type D = Disposal<'or, <OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, S> Observable<'static, T, E> for ObserveOn<'or, OE, S>
where T: MaybeSend + 'static, E: MaybeSend + 'static, OE: Observable<'or, T, E>, S: Scheduler + Clone + MaybeSend + 'static,

Source§

type D = Disposal<'or, <OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, S> Observable<'static, T, E> for SubscribeOn<'or, OE, S>
where OE: Observable<'or, T, E> + MaybeSend + 'static, OE::D: MaybeSend + 'static, S: Scheduler,

Source§

type D = Disposal<<S as Scheduler>::D, <OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE, S> Observable<'static, T, Error<E>> for Timeout<'or, OE, S>
where T: MaybeSend + 'static, E: MaybeSend + 'static, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'static, S: Scheduler + Clone + MaybeSend + 'static,

Source§

type D = BoxedDisposal<'static>

Source§

impl<'or, T, E, OE, S> Observable<'static, Vec<T>, E> for BufferWithTime<'or, OE, S>
where T: MaybeSend + 'static, E: MaybeSend + 'static, OE: Observable<'or, T, E>, OE::D: MaybeSend + 'static, S: Scheduler + Clone + MaybeSend + 'static,

Source§

impl<'or, T, E, OE> Observable<'or, (T, Duration), E> for TimeInterval<OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, (T, Instant), E> for Timestamp<OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, Event<T, E>, !> for Materialize<OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for DefaultIfEmpty<T, OE>
where OE: Observable<'or, T, E>, T: MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Dematerialize<OE>
where OE: Observable<'or, Event<T, E>, Infallible>, OE::D: MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, Event<T, E>, !>>::D>

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for ElementAt<OE>
where OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for First<OE>
where OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for IgnoreElements<OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Last<OE>
where T: MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Max<OE>
where T: PartialOrd + MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Min<OE>
where T: PartialOrd + MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Skip<OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for SkipLast<OE>
where T: MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Sum<OE>
where T: AddAssign + MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Take<OE>
where OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for TakeLast<OE>
where T: MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for Throttle<OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for WithErrorType<E, OE>
where E: 'or, OE: Observable<'or, T, Infallible>,

Source§

type D = <OE as Observable<'or, T, !>>::D

Source§

impl<'or, T, E, OE> Observable<'or, T, E> for WithItemType<T, OE>
where T: 'or, OE: Observable<'or, Infallible, E>,

Source§

type D = <OE as Observable<'or, !, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, UnicastObservable<'or, T, E>, E> for WindowWithCount<OE>
where T: MaybeSend + 'or, E: Clone + MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

impl<'or, T, E, OE> Observable<'or, Vec<T>, E> for BufferWithCount<OE>
where T: MaybeSend + 'or, OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, OE> Observable<'or, bool, E> for Contains<T, OE>
where OE: Observable<'or, T, E>, OE::D: MaybeSend + 'or, T: PartialEq + MaybeSend + 'or,

Source§

type D = Disposal<<OE as Observable<'or, T, E>>::D>

Source§

impl<'or, T, E, OE> Observable<'or, usize, E> for Count<T, OE>
where OE: Observable<'or, T, E>,

Source§

type D = <OE as Observable<'or, T, E>>::D

Source§

impl<'or, T, E, S> Observable<'or, T, E> for SubjectObservable<S>
where S: Subject<'or, T, E>,

Source§

type D = <S as Observable<'or, T, E>>::D

Source§

impl<'or, T, E> Observable<'or, T, E> for AsyncSubject<'or, T, E>
where T: Clone, E: Clone,

Source§

type D = Disposal<'or, T, E>

Source§

impl<'or, T, E> Observable<'or, T, E> for BehaviorSubject<'or, T, E>
where T: Clone, E: Clone,

Source§

type D = Disposal<'or, T, E>

Source§

impl<'or, T, E> Observable<'or, T, E> for FromResult<T, E>

Source§

type D = ()

Source§

impl<'or, T, E> Observable<'or, T, E> for PublishSubject<'or, T, E>
where T: Clone, E: Clone,

Source§

type D = Disposal<'or, T, E>

Source§

impl<'or, T, E> Observable<'or, T, E> for ReplaySubject<'or, T, E>
where T: Clone, E: Clone,

Source§

type D = Disposal<'or, T, E>

Source§

impl<'or, T, E> Observable<'or, T, E> for UnicastObservable<'or, T, E>

Source§

type D = Disposal<'or, T, E>

Source§

impl<'or, T, F> Observable<'or, T, !> for Start<F>
where F: FnOnce() -> T,

Source§

type D = ()

Source§

impl<'or, T, I> Observable<'or, T, !> for FromIter<I>
where I: IntoIterator<Item = T>,

Source§

type D = ()

Source§

impl<'or, T, I> Observable<'or, T, !> for Range<I>
where I: IntoIterator<Item = T>,

Source§

type D = ()

Source§

impl<'or, T, T1, E, OE, F> Observable<'or, T, E> for Reduce<T, T1, OE, F>
where T: MaybeSend + 'or, OE: Observable<'or, T1, E>, F: FnMut(T, T1) -> T + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T1, E>>::D

Source§

impl<'or, T, T1, E, OE, F> Observable<'or, T, E> for Scan<T, T1, OE, F>
where T: Clone + MaybeSend + 'or, OE: Observable<'or, T1, E>, F: FnMut(T, T1) -> T + MaybeSend + 'or,

Source§

type D = <OE as Observable<'or, T1, E>>::D

Source§

impl<'or, T> Observable<'or, T, !> for Just<T>

Source§

type D = ()

Source§

impl<'or, T> Observable<'or, T, !> for Repeat<T>
where T: Clone,

Source§

type D = ()

Source§

impl<'or> Observable<'or, !, !> for Empty

Source§

type D = ()

Source§

impl<'or> Observable<'or, !, !> for Never

Source§

type D = ()

Source§

impl<S> Observable<'static, usize, !> for Interval<S>
where S: Scheduler + Clone + MaybeSend + 'static,

Source§

type D = <S as Scheduler>::D

Source§

impl<T, E, FU, S> Observable<'static, T, E> for FromTryFuture<FU, S>
where FU: Future<Output = Result<T, E>> + MaybeSend + 'static, S: Scheduler,

Source§

type D = <S as Scheduler>::D

Source§

impl<T, E, OE, S> Observable<'static, Vec<T>, E> for BufferWithTimeOrCount<OE, S>
where T: MaybeSend + 'static, E: MaybeSend + 'static, OE: Observable<'static, T, E>, OE::D: MaybeSend + 'static, S: Scheduler + Clone + MaybeSend + 'static,

Source§

type D = BoxedDisposal<'static>

Source§

impl<T, E, SM, S> Observable<'static, T, E> for FromTryStream<SM, S>
where SM: Stream<Item = Result<T, E>> + MaybeSend + 'static, S: Scheduler,

Source§

type D = <S as Scheduler>::D

Source§

impl<T, FU, S> Observable<'static, T, !> for FromFuture<FU, S>
where FU: Future<Output = T> + MaybeSend + 'static, S: Scheduler,

Source§

type D = <S as Scheduler>::D

Source§

impl<T, S> Observable<'static, T, !> for Timer<T, S>
where T: MaybeSend + 'static, S: Scheduler,

Source§

type D = <S as Scheduler>::D

Source§

impl<T, SM, S> Observable<'static, T, !> for FromStream<SM, S>
where SM: Stream<Item = T> + MaybeSend + 'static, S: Scheduler,

Source§

type D = <S as Scheduler>::D