Expand description
Streaming iterators over contiguous homogeneous ranges of components
Type of value to be fetched
The type of the data which can be cached to speed up retrieving
the relevant type states from a matching Archetype
A value on which get
may never be called
How this query will access archetype
, if at all
Acquire dynamic borrows from archetype
Look up state for archetype
if it should be traversed
Construct a Fetch
for archetype
based on the associated state
Release dynamic borrows acquired by borrow
Invoke f
for every component type that may be borrowed and whether the borrow is unique
Access the n
th item in this archetype without bounds checking
- 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)
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
K: Fetch<'a>,
J: Fetch<'a>,
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
impl<'a, G, F, E, D, C, B, A> Fetch<'a> for (G, F, E, D, C, B, A) where
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
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
M: Fetch<'a>,
L: Fetch<'a>,
K: Fetch<'a>,
J: Fetch<'a>,
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
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
L: Fetch<'a>,
K: Fetch<'a>,
J: Fetch<'a>,
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
impl<'a, I, H, G, F, E, D, C, B, A> Fetch<'a> for (I, H, G, F, E, D, C, B, A) where
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
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
O: Fetch<'a>,
N: Fetch<'a>,
M: Fetch<'a>,
L: Fetch<'a>,
K: Fetch<'a>,
J: Fetch<'a>,
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
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
J: Fetch<'a>,
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
impl<'a, D, C, B, A> Fetch<'a> for (D, C, B, A) where
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
impl<'a, F, E, D, C, B, A> Fetch<'a> for (F, E, D, C, B, A) where
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
impl<'a, H, G, F, E, D, C, B, A> Fetch<'a> for (H, G, F, E, D, C, B, A) where
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
impl<'a, E, D, C, B, A> Fetch<'a> for (E, D, C, B, A) where
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,
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
N: Fetch<'a>,
M: Fetch<'a>,
L: Fetch<'a>,
K: Fetch<'a>,
J: Fetch<'a>,
I: Fetch<'a>,
H: Fetch<'a>,
G: Fetch<'a>,
F: Fetch<'a>,
E: Fetch<'a>,
D: Fetch<'a>,
C: Fetch<'a>,
B: Fetch<'a>,
A: Fetch<'a>,