SystemSets

Struct SystemSets 

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

Container for system sets in a schedule.

Implementations§

Source§

impl SystemSets

Source

pub fn len(&self) -> usize

Returns the number of system sets in this container.

Source

pub fn is_empty(&self) -> bool

Returns true if this container is empty.

Source

pub fn contains(&self, set: impl SystemSet) -> bool

Returns true if the given set is present in this container.

Source

pub fn get(&self, key: SystemSetKey) -> Option<&dyn SystemSet>

Returns a reference to the system set with the given key, if it exists.

Source

pub fn get_key_or_insert(&mut self, set: InternedSystemSet) -> SystemSetKey

Returns the key for the given system set, inserting it into this container if it does not already exist.

Source

pub fn has_conditions(&self, key: SystemSetKey) -> bool

Returns true if the system set with the given key has conditions.

Source

pub fn get_conditions( &self, key: SystemSetKey, ) -> Option<&[ConditionWithAccess]>

Returns a reference to the conditions for the system set with the given key, if it exists.

Source

pub fn get_conditions_mut( &mut self, key: SystemSetKey, ) -> Option<&mut Vec<ConditionWithAccess>>

Returns a mutable reference to the conditions for the system set with the given key, if it exists.

Source

pub fn iter( &self, ) -> impl Iterator<Item = (SystemSetKey, &dyn SystemSet, &[ConditionWithAccess])>

Returns an iterator over all system sets in this container, along with their conditions.

Source

pub fn insert( &mut self, set: InternedSystemSet, new_conditions: Vec<Box<dyn ReadOnlySystem<In = (), Out = bool>>>, ) -> SystemSetKey

Inserts conditions for a system set into the container, and queues the newly added conditions to be initialized later in SystemSets::initialize.

If the set was not already present in the container, it is added automatically.

We have to defer initialization of system set conditions in the container until we have &mut World access, so we store these in a list until SystemSets::initialize is called. This is usually done upon the first run of the schedule.

Source

pub fn is_initialized(&self) -> bool

Returns true if all system sets’ conditions in this container have been initialized.

Source

pub fn initialize(&mut self, world: &mut World)

Initializes all system sets’ conditions that have not been initialized yet. Because a system set’s conditions may be appended to multiple times, we track which conditions were added since the last initialization and only initialize those.

Trait Implementations§

Source§

impl Default for SystemSets

Source§

fn default() -> SystemSets

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

impl Index<SystemSetKey> for SystemSets

Source§

type Output = dyn SystemSet

The returned type after indexing.
Source§

fn index(&self, key: SystemSetKey) -> &Self::Output

Performs the indexing (container[index]) operation. 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> 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> IntoResult<T> for T

Source§

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

Converts this type into the system output type.
Source§

impl<A> Is for A
where A: Any,

Source§

fn is<T>() -> bool
where T: Any,

Checks if the current type “is” another type, using a TypeId equality comparison. This is most useful in the context of generic logic. 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.
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,