logo
pub struct FilteredAccess<T> where
    T: SparseSetIndex
{ /* private fields */ }
Expand description

An Access that has been filtered to include and exclude certain combinations of elements.

Used internally to statically check if queries are disjoint.

Subtle: a read or write in access should not be considered to imply a with access.

For example consider Query<Option<&T>> this only has a read of T as doing otherwise would allow for queries to be considered disjoint that actually aren’t:

  • Query<(&mut T, Option<&U>)> read/write T, read U, with U
  • Query<&mut T, Without<U>> read/write T, without U from this we could reasonably conclude that the queries are disjoint but they aren’t.

In order to solve this the actual access that Query<(&mut T, Option<&U>)> has is read/write T, read U. It must still have a read U access otherwise the following queries would be incorrectly considered disjoint:

  • Query<&mut T> read/write T
  • Query<Option<&T> accesses nothing

See comments the WorldQuery impls of AnyOf/Option/Or for more information.

Implementations

Returns a reference to the underlying unfiltered access.

Returns a mutable reference to the underlying unfiltered access.

Adds access to the element given by index.

Adds exclusive access to the element given by index.

Retains only combinations where the element given by index is also present.

Retains only combinations where the element given by index is not present.

Returns true if this and other can be active at the same time.

Returns a vector of elements that this and other cannot access at the same time.

Adds all access and filters from other.

Sets the underlying unfiltered access as having access to all indexed elements.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Converts to this type from the input type.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Compare self to key and return true if they are equal.

Returns the argument unchanged.

Creates Self using data from the given World

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

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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