[−][src]Trait legion::filter::EntityFilter
A type which combines both an archetype and a chunk filter.
Associated Types
type ArchetypeFilter: for<'a> Filter<ArchetypeFilterData<'a>> + Clone
type ChunksetFilter: for<'a> Filter<ChunksetFilterData<'a>> + Clone
type ChunkFilter: for<'a> Filter<ChunkFilterData<'a>> + Clone
Required methods
fn init(&self)
Initializes the entity filter for iteration.
fn filters(
&self
) -> (&Self::ArchetypeFilter, &Self::ChunksetFilter, &Self::ChunkFilter)
&self
) -> (&Self::ArchetypeFilter, &Self::ChunksetFilter, &Self::ChunkFilter)
Gets mutable references to both inner filters.
fn into_filters(
self
) -> (Self::ArchetypeFilter, Self::ChunksetFilter, Self::ChunkFilter)
self
) -> (Self::ArchetypeFilter, Self::ChunksetFilter, Self::ChunkFilter)
Converts self into both inner filters.
fn iter_archetype_indexes(
&'a self,
storage: &'b Storage
) -> FilterArchIter<'b, 'a, Self::ArchetypeFilter>
&'a self,
storage: &'b Storage
) -> FilterArchIter<'b, 'a, Self::ArchetypeFilter>
Gets an iterator over all matching archetype indexes.
fn iter_chunkset_indexes(
&'a self,
archetype: &'b ArchetypeData
) -> FilterChunkIter<'b, 'a, Self::ChunksetFilter>
&'a self,
archetype: &'b ArchetypeData
) -> FilterChunkIter<'b, 'a, Self::ChunksetFilter>
Gets an iterator over all matching chunkset indexes.
fn iter(
&'a self,
storage: &'b Storage
) -> FilterEntityIter<'b, 'a, Self::ArchetypeFilter, Self::ChunksetFilter>
&'a self,
storage: &'b Storage
) -> FilterEntityIter<'b, 'a, Self::ArchetypeFilter, Self::ChunksetFilter>
Gets an iterator over all matching archetypes and chunksets.
Implementors
impl<A, S, C> EntityFilter for EntityFilterTuple<A, S, C> where
A: for<'a> Filter<ArchetypeFilterData<'a>> + Clone,
C: for<'a> Filter<ChunkFilterData<'a>> + Clone,
S: for<'a> Filter<ChunksetFilterData<'a>> + Clone,
[src]
A: for<'a> Filter<ArchetypeFilterData<'a>> + Clone,
C: for<'a> Filter<ChunkFilterData<'a>> + Clone,
S: for<'a> Filter<ChunksetFilterData<'a>> + Clone,
type ArchetypeFilter = A
type ChunksetFilter = S
type ChunkFilter = C
fn init(&self)
[src]
fn filters(
&self
) -> (&<EntityFilterTuple<A, S, C> as EntityFilter>::ArchetypeFilter, &<EntityFilterTuple<A, S, C> as EntityFilter>::ChunksetFilter, &<EntityFilterTuple<A, S, C> as EntityFilter>::ChunkFilter)
[src]
&self
) -> (&<EntityFilterTuple<A, S, C> as EntityFilter>::ArchetypeFilter, &<EntityFilterTuple<A, S, C> as EntityFilter>::ChunksetFilter, &<EntityFilterTuple<A, S, C> as EntityFilter>::ChunkFilter)
fn into_filters(
self
) -> (<EntityFilterTuple<A, S, C> as EntityFilter>::ArchetypeFilter, <EntityFilterTuple<A, S, C> as EntityFilter>::ChunksetFilter, <EntityFilterTuple<A, S, C> as EntityFilter>::ChunkFilter)
[src]
self
) -> (<EntityFilterTuple<A, S, C> as EntityFilter>::ArchetypeFilter, <EntityFilterTuple<A, S, C> as EntityFilter>::ChunksetFilter, <EntityFilterTuple<A, S, C> as EntityFilter>::ChunkFilter)
fn iter_archetype_indexes(
&'a self,
storage: &'b Storage
) -> FilterArchIter<'b, 'a, A>
[src]
&'a self,
storage: &'b Storage
) -> FilterArchIter<'b, 'a, A>
fn iter_chunkset_indexes(
&'a self,
archetype: &'b ArchetypeData
) -> FilterChunkIter<'b, 'a, S>
[src]
&'a self,
archetype: &'b ArchetypeData
) -> FilterChunkIter<'b, 'a, S>