Struct RelatesTo

Source
pub struct RelatesTo<R> { /* private fields */ }
Expand description

Query for origins of relation with specified target.

Yields relation instance.

Implementations§

Source§

impl<R> RelatesTo<R>

Source

pub fn new(target: EntityId) -> Self

Returns relation query bound to one specific target entity.

Trait Implementations§

Source§

impl<R> AsQuery for RelatesTo<&R>
where R: Relation + 'static,

Source§

type Query = RelatesTo<Read<R>>

Associated query type.
Source§

impl<R> AsQuery for RelatesTo<&mut R>
where R: Relation,

Source§

type Query = RelatesTo<Write<R>>

Associated query type.
Source§

impl<R> AsQuery for RelatesTo<Read<R>>
where R: Relation + 'static,

Source§

type Query = RelatesTo<Read<R>>

Associated query type.
Source§

impl<R> AsQuery for RelatesTo<Write<R>>
where R: Relation,

Source§

type Query = RelatesTo<Write<R>>

Associated query type.
Source§

impl<R> Clone for RelatesTo<R>

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<R> Debug for RelatesTo<R>

Source§

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

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

impl<R> ImmutableQuery for RelatesTo<Read<R>>
where R: Relation,

Source§

const CHECK_VALID: () = _

Checks that query is valid in compile time.
Source§

impl<R> IntoQuery for RelatesTo<Read<R>>
where R: Relation + 'static,

Source§

fn into_query(self) -> Self

Converts into query.
Source§

impl<R> IntoQuery for RelatesTo<Write<R>>
where R: Relation,

Source§

fn into_query(self) -> Self

Converts into query.
Source§

impl<R> Query for RelatesTo<Read<R>>
where R: Relation,

Source§

const MUTABLE: bool = false

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

const FILTERS_ENTITIES: bool = true

Set to true if query filters individual entities.
Source§

type Item<'a> = &'a R

Item type this query type yields.
Source§

type Fetch<'a> = FetchRelatesToRead<'a, R>

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, ) -> FetchRelatesToRead<'a, R>

Fetches data from one archetype. Read more
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<R> Query for RelatesTo<Write<R>>
where R: Relation,

Source§

const MUTABLE: bool = true

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

const FILTERS_ENTITIES: bool = true

Set to true if query filters individual entities.
Source§

type Item<'a> = &'a mut R

Item type this query type yields.
Source§

type Fetch<'a> = FetchRelatesToWrite<'a, R>

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, ) -> FetchRelatesToWrite<'a, R>

Fetches data from one archetype. Read more
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<R> Copy for RelatesTo<R>

Source§

impl<R> SendQuery for RelatesTo<Read<R>>
where R: Relation + Sync,

Source§

impl<R> SendQuery for RelatesTo<Write<R>>
where R: Relation + Send,

Auto Trait Implementations§

§

impl<R> Freeze for RelatesTo<R>

§

impl<R> RefUnwindSafe for RelatesTo<R>
where R: RefUnwindSafe,

§

impl<R> Send for RelatesTo<R>
where R: Send,

§

impl<R> Sync for RelatesTo<R>
where R: Sync,

§

impl<R> Unpin for RelatesTo<R>
where R: Unpin,

§

impl<R> UnwindSafe for RelatesTo<R>
where R: UnwindSafe,

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

impl<Q> IntoSendQuery for Q

Source§

impl<Q> SendImmutableQuery for Q