Enum Alt

Source
pub enum Alt<T: ?Sized> {
    Alt,
    // some variants omitted
}
Expand description

Query that yields wrapped mutable reference to specified component for each entity that has that component.

Skips entities that don’t have the component.

Works almost as &mut T does. However, it does not updates entity epoch unless returned reference wrapper is dereferenced.

Variants§

§

Alt

Instance of this type.

Implementations§

Source§

impl<T: ?Sized> Alt<T>

Source

pub const fn new() -> Self

Constructs new marker instance. This function is noop as it returns ZST and have no side-effects.

Trait Implementations§

Source§

impl<T> AsQuery for Alt<T>
where T: 'static,

Source§

type Query = Alt<T>

Associated query type.
Source§

impl<T: ?Sized> Clone for Alt<T>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for Alt<T>
where T: 'static + ?Sized,

Source§

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

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

impl<T: ?Sized> Default for Alt<T>

Source§

fn default() -> Self

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

impl<T> DefaultQuery for Alt<T>
where T: 'static,

Source§

fn default_query() -> Self

Returns default query instance.
Source§

impl<T> IntoQuery for Alt<T>
where T: 'static,

Source§

fn into_query(self) -> Self

Converts into query.
Source§

impl<T> Query for Alt<T>
where T: 'static,

Source§

const MUTABLE: bool = true

Set to true if query fetches at least one mutable component.
Source§

type Item<'a> = RefMut<'a, T>

Item type this query type yields.
Source§

type Fetch<'a> = FetchAlt<'a, T>

Fetch value type for this query type. Contains data from one archetype.
Source§

fn component_access( &self, comp: &ComponentInfo, ) -> Result<Option<Access>, WriteAlias>

Returns what kind of access the query performs on the component type. This method may return stronger access type if it is impossible to know exact access with only type-id.
Source§

fn visit_archetype(&self, archetype: &Archetype) -> bool

Checks if archetype must be visited or skipped. If returns false, access_archetype and fetch must not be called, meaning that complex query should either skip archetype entirely or for this query specifically. Read more
Source§

unsafe fn access_archetype( &self, _archetype: &Archetype, f: impl FnMut(TypeId, Access), )

Asks query to provide types and access for the specific archetype. Must call provided closure with type id and access pairs. Only types from archetype must be used to call closure. Read more
Source§

unsafe fn fetch<'a>( &self, _arch_idx: u32, archetype: &'a Archetype, epoch: EpochId, ) -> FetchAlt<'a, T>

Fetches data from one archetype. Read more
Source§

const FILTERS_ENTITIES: bool = false

Set to true if query filters individual entities.
Source§

fn visit_archetype_late(&self, archetype: &Archetype) -> bool

Checks if archetype must be visited or skipped a second time after required access was granted. Read more
Source§

fn reserved_entity_item<'a>( &self, id: EntityId, idx: u32, ) -> Option<Self::Item<'a>>

Returns item for reserved entity if reserved entity (no components) satisfies the query. Otherwise returns None.
Source§

impl<T> QueryArg for Alt<T>
where T: Send + 'static,

Source§

fn new() -> Self

Creates new query state.
Source§

fn before(&mut self, world: &World)

Hook called before function-system runs to update the state.
Source§

fn after(&mut self, world: &World)

Hook called after function-system runs to update the state.
Source§

impl<T: ?Sized> Copy for Alt<T>

Source§

impl<T> SendQuery for Alt<T>
where T: Send + 'static,

Auto Trait Implementations§

§

impl<T> Freeze for Alt<T>
where T: ?Sized,

§

impl<T> RefUnwindSafe for Alt<T>
where T: RefUnwindSafe + ?Sized,

§

impl<T> Send for Alt<T>
where T: ?Sized,

§

impl<T> Sync for Alt<T>
where T: ?Sized,

§

impl<T> Unpin for Alt<T>
where T: ?Sized,

§

impl<T> UnwindSafe for Alt<T>
where T: RefUnwindSafe + ?Sized,

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> FromWorld for T
where T: Default,

Source§

fn from_world(_: &World) -> T

Returns new value created from World reference.
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.
Source§

impl<Q> DefaultSendQuery for Q

Source§

impl<Q> IntoSendQuery for Q