[−][src]Trait rangoon::Fetch
Streaming iterators over contiguous homogeneous ranges of components
Associated Types
type Item
Type of value to be fetched
Required methods
fn dangling() -> Self
A value on which get
may never be called
fn access(archetype: &Archetype) -> Option<Access>
How this query will access archetype
, if at all
fn borrow(archetype: &Archetype)
Acquire dynamic borrows from archetype
fn new(archetype: &'a Archetype) -> Option<Self>
Construct a Fetch
for archetype
if it should be traversed
fn release(archetype: &Archetype)
Release dynamic borrows acquired by borrow
unsafe fn get(&self, n: usize) -> Self::Item
Access the n
th 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)
Implementations on Foreign Types
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)
pub fn dangling() -> (L, K, J, I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(
archetype: &'a Archetype
) -> Option<(L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype
) -> Option<(L, K, J, I, H, G, F, E, D, C, B, A)>
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(E, D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <(E, D, C, B, A) as Fetch<'a>>::Item
[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)
pub fn dangling() -> (K, J, I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(
archetype: &'a Archetype
) -> Option<(K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype
) -> Option<(K, J, I, H, G, F, E, D, C, B, A)>
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(G, F, E, D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <(G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
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)
pub fn dangling() -> (F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(F, E, D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <(F, E, D, C, B, A) as Fetch<'a>>::Item
[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)
pub fn dangling() -> (J, I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(J, I, H, G, F, E, D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (M, L, K, J, I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(
archetype: &'a Archetype
) -> Option<(M, L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype
) -> Option<(M, L, K, J, I, H, G, F, E, D, C, B, A)>
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(I, H, G, F, E, D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(
archetype: &'a Archetype
) -> Option<(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype
) -> Option<(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(O, N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(H, G, F, E, D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
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)
pub fn dangling() -> (D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(D, C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <(D, C, B, A) as Fetch<'a>>::Item
[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)
pub fn dangling() -> (C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(C, B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <(C, B, A) as Fetch<'a>>::Item
[src]
impl<'a> Fetch<'a> for ()
[src]
type Item = ()
pub fn dangling()
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<()>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <() as Fetch<'a>>::Item
[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)
pub fn dangling() -> (B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(archetype: &'a Archetype) -> Option<(B, A)>
[src]
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(&self, n: usize) -> <(B, A) as Fetch<'a>>::Item
[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)
pub fn dangling() -> (N, M, L, K, J, I, H, G, F, E, D, C, B, A)
[src]
pub fn access(archetype: &Archetype) -> Option<Access>
[src]
pub fn borrow(archetype: &Archetype)
[src]
pub fn new(
archetype: &'a Archetype
) -> Option<(N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
[src]
archetype: &'a Archetype
) -> Option<(N, M, L, K, J, I, H, G, F, E, D, C, B, A)>
pub fn release(archetype: &Archetype)
[src]
pub unsafe fn get(
&self,
n: usize
) -> <(N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
[src]
&self,
n: usize
) -> <(N, M, L, K, J, I, H, G, F, E, D, C, B, A) as Fetch<'a>>::Item
impl<'a, A> Fetch<'a> for (A,) where
A: Fetch<'a>,
[src]
A: Fetch<'a>,