[−][src]Struct legion::query::ChunkView
Provides access to slices of components for entities which have the same component layout.
A single index in any of the slices contained in a chunk belong to the same entity.
Implementations
impl<'a, F: Fetch> ChunkView<'a, F>
[src]
pub fn archetype(&self) -> &Archetype
[src]
Returns the archetype that all entities in the chunk belong to.
pub fn component_slice<T: Component>(&self) -> Option<&[T]>
[src]
Returns a slice of components.
May return None
if the chunk's view does not declare access to the component type.
pub fn component_slice_mut<T: Component>(&mut self) -> Option<&mut [T]>
[src]
Returns a mutable slice of components.
May return None
if the chunk's view does not declare access to the component type.
pub fn into_components(self) -> F::Data
[src]
Converts the chunk into a tuple of it's inner slices.
Examples
let mut query = <(Entity, Read<A>, Write<B>, TryRead<C>, TryWrite<D>)>::query(); for chunk in query.iter_chunks_mut(&mut world) { let slices: (&[Entity], &[A], &mut [B], Option<&[C]>, Option<&mut [D]>) = chunk.into_components(); }
pub fn get_components(&self) -> F::Data where
F: ReadOnlyFetch,
[src]
F: ReadOnlyFetch,
Converts the chunk into a tuple of it's inner slices.
Only usable with views who's elements are all read-only.
Examples
let mut query = <(Entity, Read<A>, TryRead<B>)>::query(); for chunk in query.iter_chunks_mut(&mut world) { let slices: (&[Entity], &[A], Option<&[B]>) = chunk.get_components(); }
pub fn into_iter_entities(
self
) -> impl Iterator<Item = (Entity, <F as IntoIndexableIter>::Item)> + 'a where
<F as IntoIndexableIter>::IntoIter: 'a,
[src]
self
) -> impl Iterator<Item = (Entity, <F as IntoIndexableIter>::Item)> + 'a where
<F as IntoIndexableIter>::IntoIter: 'a,
Converts the chunk into an iterator which yields tuples of (Entity, components)
.
Trait Implementations
impl<'a, F: Fetch> IntoIterator for ChunkView<'a, F>
[src]
type IntoIter = <F as IntoIndexableIter>::IntoIter
Which kind of iterator are we turning this into?
type Item = <F as IntoIndexableIter>::Item
The type of the elements being iterated over.
fn into_iter(self) -> Self::IntoIter
[src]
impl<'a, F: Fetch> IntoParallelIterator for ChunkView<'a, F>
[src]
type Iter = Par<<F as IntoIndexableIter>::IntoIter>
The parallel iterator type that will be created.
type Item = <<F as IntoIndexableIter>::IntoIter as TrustedRandomAccess>::Item
The type of item that the parallel iterator will produce.
fn into_par_iter(self) -> Self::Iter
[src]
Auto Trait Implementations
impl<'a, F> !RefUnwindSafe for ChunkView<'a, F>
impl<'a, F> Send for ChunkView<'a, F>
impl<'a, F> Sync for ChunkView<'a, F>
impl<'a, F> Unpin for ChunkView<'a, F> where
F: Unpin,
F: Unpin,
impl<'a, F> !UnwindSafe for ChunkView<'a, F>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
impl<T> IntoParallelIterator for T where
T: ParallelIterator,
[src]
T: ParallelIterator,
type Iter = T
The parallel iterator type that will be created.
type Item = <T as ParallelIterator>::Item
The type of item that the parallel iterator will produce.
fn into_par_iter(self) -> T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,