Skip to main content

OptionSubscriber

Enum OptionSubscriber 

Source
pub enum OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>,
{ Some(InnerSubscriber), None(Destination), }

Variants§

§

Some(InnerSubscriber)

§

None(Destination)

Trait Implementations§

Source§

impl<InnerSubscriber, Destination> Drop for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>,

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<InnerSubscriber, Destination> ObserverInput for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>,

Source§

type In = <InnerSubscriber as ObserverInput>::In

Source§

type InError = <InnerSubscriber as ObserverInput>::InError

Source§

impl<InnerSubscriber, Destination> RxObserver for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>, <InnerSubscriber as ObserverInput>::In: 'static, <InnerSubscriber as ObserverInput>::InError: 'static,

Source§

fn next( &mut self, next: <OptionSubscriber<InnerSubscriber, Destination> as ObserverInput>::In, )

Signals the next value.
Source§

fn error( &mut self, error: <OptionSubscriber<InnerSubscriber, Destination> as ObserverInput>::InError, )

Signals an error of upstream, no more next or complete calls are expected after this!
Source§

fn complete(&mut self)

Signals the completion of upstream, no more next or error calls are expected after this!
Source§

impl<InnerSubscriber, Destination> SubscriptionLike for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>, <InnerSubscriber as ObserverInput>::In: 'static, <InnerSubscriber as ObserverInput>::InError: 'static,

Source§

fn is_closed(&self) -> bool

Returns if the subscription is closed or not. A subscription can be closed by calling unsubscribe on it. Some special subscriptions made by observables that only ever emit values during subscribe, will produce subscriptions that are created closed. Read more
Source§

fn unsubscribe(&mut self)

Releases all resources associated with this subscription, and marks it as closed. Read more
Source§

impl<InnerSubscriber, Destination> TeardownCollection for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>, <InnerSubscriber as ObserverInput>::In: 'static, <InnerSubscriber as ObserverInput>::InError: 'static,

Source§

fn add_teardown(&mut self, teardown: Teardown)

Add additional teardowns to execute on unsubscribe. If the subscription is already closed, the added teardown is immediately executed!
Source§

impl<InnerSubscriber, Destination> WithPrimaryCategory for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>,

Source§

impl<InnerSubscriber, Destination> ObserverUpgradesToSelf for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Subscriber, Destination: Subscriber<In = <InnerSubscriber as ObserverInput>::In, InError = <InnerSubscriber as ObserverInput>::InError>,

Auto Trait Implementations§

§

impl<InnerSubscriber, Destination> Freeze for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Freeze, Destination: Freeze,

§

impl<InnerSubscriber, Destination> RefUnwindSafe for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: RefUnwindSafe, Destination: RefUnwindSafe,

§

impl<InnerSubscriber, Destination> Send for OptionSubscriber<InnerSubscriber, Destination>

§

impl<InnerSubscriber, Destination> Sync for OptionSubscriber<InnerSubscriber, Destination>

§

impl<InnerSubscriber, Destination> Unpin for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: Unpin, Destination: Unpin,

§

impl<InnerSubscriber, Destination> UnwindSafe for OptionSubscriber<InnerSubscriber, Destination>
where InnerSubscriber: UnwindSafe, Destination: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<S> EraseSubscriptionExtension for S
where S: SubscriptionWithTeardown + Send + Sync + 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoResult<T> for T

Source§

fn into_result(self) -> Result<T, RunSystemError>

Converts this type into the system output type.
Source§

impl<T> ObserverPushObserverNotificationExtention for T
where T: RxObserver,

Source§

fn push( &mut self, notification: impl Into<ObserverNotification<<T as ObserverInput>::In, <T as ObserverInput>::InError>>, )

Source§

impl<T> ObserverPushObserverTerminalNotificationExtention for T
where T: RxObserver,

Source§

fn push( &mut self, notification: impl Into<ObserverTerminalNotification<<T as ObserverInput>::InError>>, )

Source§

impl<T> SubscriberPushNotificationExtention for T
where T: Subscriber,

Source§

fn push( &mut self, notification: impl Into<SubscriberNotification<<T as ObserverInput>::In, <T as ObserverInput>::InError>>, )

Source§

impl<Subscription> SubscriptionLikeExtensionIntoShared for Subscription
where Subscription: 'static + SubscriptionWithTeardown + Send + Sync,

Source§

fn into_shared(self) -> SharedSubscription

Wrap this subscription into a SharedSubscription, erasing it and allowing you to freely clone it, to unsubscribe it from multiple places.
Source§

impl<T> SubscriptionLikePushNotificationExtention for T
where T: SubscriptionLike + ?Sized,

Source§

fn push(&mut self, notification: impl Into<SubscriptionNotification>)

Source§

impl<S> TeardownCollectionExtension for S

Source§

fn add<T>(&mut self, teardown: T)
where T: Into<Teardown>,

Source§

fn add_fn<F>(&mut self, f: F)
where F: 'static + FnOnce() + Send + Sync, Self: Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UpgradeableObserver for T

Source§

impl<T> ConditionalSend for T
where T: Send,

Source§

impl<T> Signal for T
where T: 'static + Send + Sync,

Source§

impl<T> Subscriber for T

Source§

impl<T> SubscriptionWithTeardown for T