pub struct All<'s, Tuple>(pub PhantomData<&'s Tuple>);
Expand description
Is satisfied when a storages contains all of the specified components.
ⓘ
type Query = All<(Write<Position>, Read<Velocity>)>;
Tuple Fields§
§0: PhantomData<&'s Tuple>
Trait Implementations§
source§impl<'s, A, B, C, D, E, F, G, H> Matcher for All<'s, (A, B, C, D, E, F, G, H)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
H: Fetch<'s>,
impl<'s, A, B, C, D, E, F, G, H> Matcher for All<'s, (A, B, C, D, E, F, G, H)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
H: Fetch<'s>,
source§impl<'s, A, B, C, D, E, F, G> Matcher for All<'s, (A, B, C, D, E, F, G)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
impl<'s, A, B, C, D, E, F, G> Matcher for All<'s, (A, B, C, D, E, F, G)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
source§impl<'s, A, B, C, D, E, F> Matcher for All<'s, (A, B, C, D, E, F)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
impl<'s, A, B, C, D, E, F> Matcher for All<'s, (A, B, C, D, E, F)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
source§impl<'s, A, B, C, D, E> Matcher for All<'s, (A, B, C, D, E)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
impl<'s, A, B, C, D, E> Matcher for All<'s, (A, B, C, D, E)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
source§impl<'s, A, B, C, D> Matcher for All<'s, (A, B, C, D)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
impl<'s, A, B, C, D> Matcher for All<'s, (A, B, C, D)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
source§impl<'s, A, B, C> Matcher for All<'s, (A, B, C)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
impl<'s, A, B, C> Matcher for All<'s, (A, B, C)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
source§impl<'s, A, B, C, D, E, F, G, H> Query<'s> for All<'s, (A, B, C, D, E, F, G, H)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
H: Fetch<'s>,
impl<'s, A, B, C, D, E, F, G, H> Query<'s> for All<'s, (A, B, C, D, E, F, G, H)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
H: Fetch<'s>,
type Borrow = (A, B, C, D, E, F, G, H)
type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter, <D as Fetch<'s>>::Iter, <E as Fetch<'s>>::Iter, <F as Fetch<'s>>::Iter, <G as Fetch<'s>>::Iter, <H as Fetch<'s>>::Iter)>
unsafe fn query<S1: Storage>(storage: &'s S1) -> Self::Iter
source§impl<'s, A, B, C, D, E, F, G> Query<'s> for All<'s, (A, B, C, D, E, F, G)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
impl<'s, A, B, C, D, E, F, G> Query<'s> for All<'s, (A, B, C, D, E, F, G)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
G: Fetch<'s>,
source§impl<'s, A, B, C, D, E, F> Query<'s> for All<'s, (A, B, C, D, E, F)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
impl<'s, A, B, C, D, E, F> Query<'s> for All<'s, (A, B, C, D, E, F)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
F: Fetch<'s>,
source§impl<'s, A, B, C, D, E> Query<'s> for All<'s, (A, B, C, D, E)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
impl<'s, A, B, C, D, E> Query<'s> for All<'s, (A, B, C, D, E)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
E: Fetch<'s>,
source§impl<'s, A, B, C, D> Query<'s> for All<'s, (A, B, C, D)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
impl<'s, A, B, C, D> Query<'s> for All<'s, (A, B, C, D)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
D: Fetch<'s>,
source§impl<'s, A, B, C> Query<'s> for All<'s, (A, B, C)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
impl<'s, A, B, C> Query<'s> for All<'s, (A, B, C)>where
A: Fetch<'s>,
B: Fetch<'s>,
C: Fetch<'s>,
Auto Trait Implementations§
impl<'s, Tuple> RefUnwindSafe for All<'s, Tuple>where
Tuple: RefUnwindSafe,
impl<'s, Tuple> Send for All<'s, Tuple>where
Tuple: Sync,
impl<'s, Tuple> Sync for All<'s, Tuple>where
Tuple: Sync,
impl<'s, Tuple> Unpin for All<'s, Tuple>
impl<'s, Tuple> UnwindSafe for All<'s, Tuple>where
Tuple: RefUnwindSafe,
Blanket Implementations§
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more