@@ -8,20 +8,20 @@ use crate::{
8
8
} ;
9
9
use std:: { borrow:: Borrow , iter:: FusedIterator , mem:: MaybeUninit } ;
10
10
11
- use super :: { QueryData , ReadOnlyQueryData , WorldQueryFilter } ;
11
+ use super :: { QueryData , QueryFilter , ReadOnlyQueryData } ;
12
12
13
13
/// An [`Iterator`] over query results of a [`Query`](crate::system::Query).
14
14
///
15
15
/// This struct is created by the [`Query::iter`](crate::system::Query::iter) and
16
16
/// [`Query::iter_mut`](crate::system::Query::iter_mut) methods.
17
- pub struct QueryIter < ' w , ' s , Q : QueryData , F : WorldQueryFilter > {
17
+ pub struct QueryIter < ' w , ' s , Q : QueryData , F : QueryFilter > {
18
18
tables : & ' w Tables ,
19
19
archetypes : & ' w Archetypes ,
20
20
query_state : & ' s QueryState < Q , F > ,
21
21
cursor : QueryIterationCursor < ' w , ' s , Q , F > ,
22
22
}
23
23
24
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter > QueryIter < ' w , ' s , Q , F > {
24
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter > QueryIter < ' w , ' s , Q , F > {
25
25
/// # Safety
26
26
/// - `world` must have permission to access any of the components registered in `query_state`.
27
27
/// - `world` must be the same one used to initialize `query_state`.
@@ -41,7 +41,7 @@ impl<'w, 's, Q: QueryData, F: WorldQueryFilter> QueryIter<'w, 's, Q, F> {
41
41
}
42
42
}
43
43
44
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter > Iterator for QueryIter < ' w , ' s , Q , F > {
44
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter > Iterator for QueryIter < ' w , ' s , Q , F > {
45
45
type Item = Q :: Item < ' w > ;
46
46
47
47
#[ inline( always) ]
@@ -64,15 +64,15 @@ impl<'w, 's, Q: QueryData, F: WorldQueryFilter> Iterator for QueryIter<'w, 's, Q
64
64
}
65
65
66
66
// This is correct as [`QueryIter`] always returns `None` once exhausted.
67
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter > FusedIterator for QueryIter < ' w , ' s , Q , F > { }
67
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter > FusedIterator for QueryIter < ' w , ' s , Q , F > { }
68
68
69
69
/// An [`Iterator`] over the query items generated from an iterator of [`Entity`]s.
70
70
///
71
71
/// Items are returned in the order of the provided iterator.
72
72
/// Entities that don't match the query are skipped.
73
73
///
74
74
/// This struct is created by the [`Query::iter_many`](crate::system::Query::iter_many) and [`Query::iter_many_mut`](crate::system::Query::iter_many_mut) methods.
75
- pub struct QueryManyIter < ' w , ' s , Q : QueryData , F : WorldQueryFilter , I : Iterator >
75
+ pub struct QueryManyIter < ' w , ' s , Q : QueryData , F : QueryFilter , I : Iterator >
76
76
where
77
77
I :: Item : Borrow < Entity > ,
78
78
{
85
85
query_state : & ' s QueryState < Q , F > ,
86
86
}
87
87
88
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter , I : Iterator > QueryManyIter < ' w , ' s , Q , F , I >
88
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter , I : Iterator > QueryManyIter < ' w , ' s , Q , F , I >
89
89
where
90
90
I :: Item : Borrow < Entity > ,
91
91
{
@@ -181,7 +181,7 @@ where
181
181
}
182
182
}
183
183
184
- impl < ' w , ' s , Q : ReadOnlyQueryData , F : WorldQueryFilter , I : Iterator > Iterator
184
+ impl < ' w , ' s , Q : ReadOnlyQueryData , F : QueryFilter , I : Iterator > Iterator
185
185
for QueryManyIter < ' w , ' s , Q , F , I >
186
186
where
187
187
I :: Item : Borrow < Entity > ,
@@ -201,7 +201,7 @@ where
201
201
}
202
202
203
203
// This is correct as [`QueryManyIter`] always returns `None` once exhausted.
204
- impl < ' w , ' s , Q : ReadOnlyQueryData , F : WorldQueryFilter , I : Iterator > FusedIterator
204
+ impl < ' w , ' s , Q : ReadOnlyQueryData , F : QueryFilter , I : Iterator > FusedIterator
205
205
for QueryManyIter < ' w , ' s , Q , F , I >
206
206
where
207
207
I :: Item : Borrow < Entity > ,
@@ -271,16 +271,14 @@ where
271
271
/// [`Query`]: crate::system::Query
272
272
/// [`Query::iter_combinations`]: crate::system::Query::iter_combinations
273
273
/// [`Query::iter_combinations_mut`]: crate::system::Query::iter_combinations_mut
274
- pub struct QueryCombinationIter < ' w , ' s , Q : QueryData , F : WorldQueryFilter , const K : usize > {
274
+ pub struct QueryCombinationIter < ' w , ' s , Q : QueryData , F : QueryFilter , const K : usize > {
275
275
tables : & ' w Tables ,
276
276
archetypes : & ' w Archetypes ,
277
277
query_state : & ' s QueryState < Q , F > ,
278
278
cursors : [ QueryIterationCursor < ' w , ' s , Q , F > ; K ] ,
279
279
}
280
280
281
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter , const K : usize >
282
- QueryCombinationIter < ' w , ' s , Q , F , K >
283
- {
281
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter , const K : usize > QueryCombinationIter < ' w , ' s , Q , F , K > {
284
282
/// # Safety
285
283
/// - `world` must have permission to access any of the components registered in `query_state`.
286
284
/// - `world` must be the same one used to initialize `query_state`.
@@ -385,7 +383,7 @@ impl<'w, 's, Q: QueryData, F: WorldQueryFilter, const K: usize>
385
383
// Iterator type is intentionally implemented only for read-only access.
386
384
// Doing so for mutable references would be unsound, because calling `next`
387
385
// multiple times would allow multiple owned references to the same data to exist.
388
- impl < ' w , ' s , Q : ReadOnlyQueryData , F : WorldQueryFilter , const K : usize > Iterator
386
+ impl < ' w , ' s , Q : ReadOnlyQueryData , F : QueryFilter , const K : usize > Iterator
389
387
for QueryCombinationIter < ' w , ' s , Q , F , K >
390
388
{
391
389
type Item = [ Q :: Item < ' w > ; K ] ;
@@ -428,7 +426,7 @@ impl<'w, 's, Q: ReadOnlyQueryData, F: WorldQueryFilter, const K: usize> Iterator
428
426
}
429
427
}
430
428
431
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter > ExactSizeIterator for QueryIter < ' w , ' s , Q , F >
429
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter > ExactSizeIterator for QueryIter < ' w , ' s , Q , F >
432
430
where
433
431
F : ArchetypeFilter ,
434
432
{
@@ -438,12 +436,12 @@ where
438
436
}
439
437
440
438
// This is correct as [`QueryCombinationIter`] always returns `None` once exhausted.
441
- impl < ' w , ' s , Q : ReadOnlyQueryData , F : WorldQueryFilter , const K : usize > FusedIterator
439
+ impl < ' w , ' s , Q : ReadOnlyQueryData , F : QueryFilter , const K : usize > FusedIterator
442
440
for QueryCombinationIter < ' w , ' s , Q , F , K >
443
441
{
444
442
}
445
443
446
- struct QueryIterationCursor < ' w , ' s , Q : QueryData , F : WorldQueryFilter > {
444
+ struct QueryIterationCursor < ' w , ' s , Q : QueryData , F : QueryFilter > {
447
445
table_id_iter : std:: slice:: Iter < ' s , TableId > ,
448
446
archetype_id_iter : std:: slice:: Iter < ' s , ArchetypeId > ,
449
447
table_entities : & ' w [ Entity ] ,
@@ -456,7 +454,7 @@ struct QueryIterationCursor<'w, 's, Q: QueryData, F: WorldQueryFilter> {
456
454
current_row : usize ,
457
455
}
458
456
459
- impl < Q : QueryData , F : WorldQueryFilter > Clone for QueryIterationCursor < ' _ , ' _ , Q , F > {
457
+ impl < Q : QueryData , F : QueryFilter > Clone for QueryIterationCursor < ' _ , ' _ , Q , F > {
460
458
fn clone ( & self ) -> Self {
461
459
Self {
462
460
table_id_iter : self . table_id_iter . clone ( ) ,
@@ -471,7 +469,7 @@ impl<Q: QueryData, F: WorldQueryFilter> Clone for QueryIterationCursor<'_, '_, Q
471
469
}
472
470
}
473
471
474
- impl < ' w , ' s , Q : QueryData , F : WorldQueryFilter > QueryIterationCursor < ' w , ' s , Q , F > {
472
+ impl < ' w , ' s , Q : QueryData , F : QueryFilter > QueryIterationCursor < ' w , ' s , Q , F > {
475
473
const IS_DENSE : bool = Q :: IS_DENSE && F :: IS_DENSE ;
476
474
477
475
unsafe fn init_empty (
0 commit comments