Struct AutoInsertApplyDeferredPass

Source
pub struct AutoInsertApplyDeferredPass { /* private fields */ }
Expand description

A ScheduleBuildPass that inserts ApplyDeferred systems into the schedule graph when there are Deferred in one system and there are ordering dependencies on that system. Commands is one such deferred buffer.

This pass is typically automatically added to the schedule. You can disable this by setting ScheduleBuildSettings::auto_insert_apply_deferred to false. You may want to disable this if you only want to sync deferred params at the end of the schedule, or want to manually insert all your sync points.

Trait Implementations§

Source§

impl Debug for AutoInsertApplyDeferredPass

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AutoInsertApplyDeferredPass

Source§

fn default() -> AutoInsertApplyDeferredPass

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

impl ScheduleBuildPass for AutoInsertApplyDeferredPass

Source§

type EdgeOptions = IgnoreDeferred

Custom options for dependencies between sets or systems.
Source§

fn add_dependency( &mut self, from: NodeId, to: NodeId, options: Option<&Self::EdgeOptions>, )

Called when a dependency between sets or systems was explicitly added to the graph.
Source§

fn build( &mut self, _world: &mut World, graph: &mut ScheduleGraph, dependency_flattened: &mut DiGraph, ) -> Result<(), ScheduleBuildError>

The implementation will be able to modify the ScheduleGraph here.
Source§

fn collapse_set( &mut self, set: NodeId, systems: &[NodeId], dependency_flattened: &DiGraph, ) -> impl Iterator<Item = (NodeId, NodeId)>

Called while flattening the dependency graph. For each set, this method is called with the systems associated with the set as well as an immutable reference to the current graph. Instead of modifying the graph directly, this method should return an iterator of edges to add to the graph.

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> 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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromWorld for T
where T: Default,

Source§

fn from_world(_world: &mut World) -> T

Creates Self using default().

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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