[−][src]Trait bevy_ecs::Fetch
Streaming iterators over contiguous homogeneous ranges of components
Associated Types
type Item
Type of value to be fetched
Required methods
fn access(archetype: &Archetype) -> Option<Access>
How this query will access archetype
, if at all
fn borrow(archetype: &Archetype)
Acquire dynamic borrows from archetype
unsafe fn get(archetype: &'a Archetype, offset: usize) -> Option<Self>
Construct a Fetch
for archetype
if it should be traversed
Safety
offset
must be in bounds of archetype
fn release(archetype: &Archetype)
Release dynamic borrows acquired by borrow
unsafe fn next(&mut self) -> Self::Item
Access the next item in this archetype without bounds checking
Safety
- Must only be called after
borrow
release
must not be called while'a
is still live- Bounds-checking must be performed externally
- Any resulting borrows must be legal (e.g. no &mut to something another iterator might access)
Provided methods
unsafe fn should_skip(&self) -> bool
if this returns true, the current item will be skipped during iteration
Implementations on Foreign Types
impl<'a, F, E, D, C, B, A> Fetch<'a> for (F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
type Item = (<F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, B, A> Fetch<'a> for (B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
type Item = (<B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(archetype: &'a Archetype, offset: usize) -> Option<(B, A)>
[src]
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, L, K, J, I, H, G, F, E, D, C, B, A> Fetch<'a> for (L, K, J, I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
type Item = (<L as Fetch<'a>>::Item, <K as Fetch<'a>>::Item, <J as Fetch<'a>>::Item, <I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(L, K, J, I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(
&mut self
) -> <(L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&mut self
) -> <(L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, A> Fetch<'a> for (A,) where
A: Fetch<'a>,
[src]
A: Fetch<'a>,
type Item = (<A as Fetch<'a>>::Item,)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(archetype: &'a Archetype, offset: usize) -> Option<(A,)>
[src]
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(A,) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, M, L, K, J, I, H, G, F, E, D, C, B, A> Fetch<'a> for (M, L, K, J, I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
M: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
M: Fetch<'a>,
type Item = (<M as Fetch<'a>>::Item, <L as Fetch<'a>>::Item, <K as Fetch<'a>>::Item, <J as Fetch<'a>>::Item, <I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(M, L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(M, L, K, J, I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(
&mut self
) -> <(M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&mut self
) -> <(M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, J, I, H, G, F, E, D, C, B, A> Fetch<'a> for (J, I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
type Item = (<J as Fetch<'a>>::Item, <I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(J, I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, H, G, F, E, D, C, B, A> Fetch<'a> for (H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
type Item = (<H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Fetch<'a> for (N, M, L, K, J, I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
M: Fetch<'a>,
N: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
M: Fetch<'a>,
N: Fetch<'a>,
type Item = (<N as Fetch<'a>>::Item, <M as Fetch<'a>>::Item, <L as Fetch<'a>>::Item, <K as Fetch<'a>>::Item, <J as Fetch<'a>>::Item, <I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(
&mut self
) -> <(N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&mut self
) -> <(N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, G, F, E, D, C, B, A> Fetch<'a> for (G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
type Item = (<G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, C, B, A> Fetch<'a> for (C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
type Item = (<C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(archetype: &'a Archetype, offset: usize) -> Option<(C, B, A)>
[src]
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, D, C, B, A> Fetch<'a> for (D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
type Item = (<D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(archetype: &'a Archetype, offset: usize) -> Option<(D, C, B, A)>
[src]
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, E, D, C, B, A> Fetch<'a> for (E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
type Item = (<E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(E, D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, I, H, G, F, E, D, C, B, A> Fetch<'a> for (I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
type Item = (<I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <(I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, K, J, I, H, G, F, E, D, C, B, A> Fetch<'a> for (K, J, I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
type Item = (<K as Fetch<'a>>::Item, <J as Fetch<'a>>::Item, <I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(K, J, I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(
&mut self
) -> <(K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&mut self
) -> <(K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
unsafe fn should_skip(&self) -> bool
[src]
impl<'a> Fetch<'a> for ()
[src]
type Item = ()
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(archetype: &'a Archetype, offset: usize) -> Option<()>
[src]
fn release(archetype: &Archetype)
[src]
unsafe fn next(&mut self) -> <() as Fetch<'a>>::Item
[src]
unsafe fn should_skip(&self) -> bool
[src]
impl<'a, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Fetch<'a> for (O, N, M, L, K, J, I, H, G, F, E, D, C, B, A) where
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
M: Fetch<'a>,
N: Fetch<'a>,
O: Fetch<'a>,
[src]
A: Fetch<'a>,
B: Fetch<'a>,
C: Fetch<'a>,
D: Fetch<'a>,
E: Fetch<'a>,
F: Fetch<'a>,
G: Fetch<'a>,
H: Fetch<'a>,
I: Fetch<'a>,
J: Fetch<'a>,
K: Fetch<'a>,
L: Fetch<'a>,
M: Fetch<'a>,
N: Fetch<'a>,
O: Fetch<'a>,
type Item = (<O as Fetch<'a>>::Item, <N as Fetch<'a>>::Item, <M as Fetch<'a>>::Item, <L as Fetch<'a>>::Item, <K as Fetch<'a>>::Item, <J as Fetch<'a>>::Item, <I as Fetch<'a>>::Item, <H as Fetch<'a>>::Item, <G as Fetch<'a>>::Item, <F as Fetch<'a>>::Item, <E as Fetch<'a>>::Item, <D as Fetch<'a>>::Item, <C as Fetch<'a>>::Item, <B as Fetch<'a>>::Item, <A as Fetch<'a>>::Item)
fn access(archetype: &Archetype) -> Option<Access>
[src]
fn borrow(archetype: &Archetype)
[src]
unsafe fn get(
archetype: &'a Archetype,
offset: usize
) -> Option<(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype,
offset: usize
) -> Option<(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
fn release(archetype: &Archetype)
[src]
unsafe fn next(
&mut self
) -> <(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&mut self
) -> <(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item