CancelChain

Struct CancelChain 

Source
pub struct CancelChain(/* private fields */);
Expand description

Implementation of CancellationTrigger which chains together several trigger implementations.

This is mostly used internally by crate::on_trigger to implement chaining of multiple cancellation scopes. However, it is still a normal CancellationTrigger and thus can be used to combine triggers manually as well.

Implementations§

Source§

impl CancelChain

Source

pub fn pop(&mut self) -> Option<DynamicCancellationTrigger>

Remove the first trigger in the chain.

Source

pub fn push<T: CancellationTrigger + 'static>(&mut self, trigger: T)

Add a new cancellation trigger. The new chain starts with the given trigger and continues with the already present ones.

Source

pub fn clone_and_flatten(&self) -> DynamicCancellationTrigger

Make a copy of this trigger chain, but if the chain is empty or only has a single element, replace it with a simplified trigger which does not need vector traversal.

Trait Implementations§

Source§

impl CancellationTrigger for CancelChain

Source§

fn is_cancelled(&self) -> bool

Returns true if this trigger is canceled. Read more
Source§

fn type_name(&self) -> &'static str

Return the type name of this CancellationTrigger, or in case of “composite” triggers, the type name of the trigger that actually signaled the cancellation.
Source§

impl Clone for CancelChain

Source§

fn clone(&self) -> CancelChain

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for CancelChain

Source§

fn default() -> CancelChain

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.