Struct DelegatingModeCombiner

Source
pub struct DelegatingModeCombiner<'m, T> { /* private fields */ }
Expand description

Default implementation for the ModeWrapper trait that combines ModeCombiners by setting the current ModeCombiner as the outer ModeCombiner of the newly added ModeCombiner so that the iterator walks the ModeCombiners in the reverse order of which they were added, meaning the ModeCombiner that was added first ends up wrapping the task last, meaning its task will be the outermost task.

Trait Implementations§

Source§

impl<T> Clone for DelegatingModeCombiner<'_, T>

Source§

fn clone(&self) -> Self

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<'m, T> ModeCombiner<'m, T> for DelegatingModeCombiner<'m, T>

Source§

fn combine( &self, other: Box<dyn ModeCombiner<'m, T> + Send + Sync + 'm>, ) -> Box<dyn ModeCombiner<'m, T> + Send + Sync + 'm>

Combine this ModeCombiner with the supplied boxed ModeCombiner. Read more
Source§

fn get_outer(&self) -> Option<&(dyn ModeCombiner<'m, T> + Send + Sync)>

Return the outer ModeCombiner this ModeCombiner delegates to, this is the next ModeCombiner the iterator returned by ModeCombiner::iter steps to.
Source§

fn set_outer(&mut self, outer: Arc<dyn ModeCombiner<'m, T> + Send + Sync + 'm>)

Set the outer ModeCombiner this ModeCombiner delegates to, this is the next ModeCombiner the iterator returned by ModeCombiner::iter steps to.
Source§

fn iter<'a>(&'a self) -> ModeCombinerIterator<'a, 'm, T>

Return an iterator that can unwrap combined ModeCombiners by stepping into the outer ModeCombiner recursively.
Source§

fn wrapper_ref(&self) -> Arc<dyn ModeWrapper<'m, T> + Send + Sync + 'm>

Reference the source ModeWrapper. Used to wrap the task when applying a Mode.

Auto Trait Implementations§

§

impl<'m, T> Freeze for DelegatingModeCombiner<'m, T>

§

impl<'m, T> !RefUnwindSafe for DelegatingModeCombiner<'m, T>

§

impl<'m, T> Send for DelegatingModeCombiner<'m, T>

§

impl<'m, T> Sync for DelegatingModeCombiner<'m, T>

§

impl<'m, T> Unpin for DelegatingModeCombiner<'m, T>

§

impl<'m, T> !UnwindSafe for DelegatingModeCombiner<'m, T>

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> 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.