From c37c85ef703424ab1320498354bd694457e706dd Mon Sep 17 00:00:00 2001 From: devil-ira Date: Tue, 13 Sep 2022 12:06:15 +0200 Subject: [PATCH 1/2] doc --- crates/bevy_ecs/src/query/iter.rs | 3 +++ crates/bevy_ecs/src/query/state.rs | 14 ++++++++++---- crates/bevy_ecs/src/system/query.rs | 8 +++++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/crates/bevy_ecs/src/query/iter.rs b/crates/bevy_ecs/src/query/iter.rs index b75b13aa54e92..6b4e4e4012bb5 100644 --- a/crates/bevy_ecs/src/query/iter.rs +++ b/crates/bevy_ecs/src/query/iter.rs @@ -74,6 +74,9 @@ impl<'w, 's, Q: WorldQuery, F: WorldQuery> FusedIterator for QueryIter<'w, 's, Q /// An [`Iterator`] over [`Query`](crate::system::Query) results of a list of [`Entity`]s. /// +/// Items are returned in the order of the iterator of entities. +/// Entities that don't match the query are skipped. +/// /// 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. pub struct QueryManyIter<'w, 's, Q: WorldQuery, F: WorldQuery, I: Iterator> where diff --git a/crates/bevy_ecs/src/query/state.rs b/crates/bevy_ecs/src/query/state.rs index 9a1f08cde42d3..216ecb3aacd80 100644 --- a/crates/bevy_ecs/src/query/state.rs +++ b/crates/bevy_ecs/src/query/state.rs @@ -594,11 +594,14 @@ impl QueryState { } } - /// Returns an [`Iterator`] over the query results of a list of [`Entity`]'s. + /// Returns an [`Iterator`] over the read-only query items generated from an [`Entity`] list. /// - /// This can only return immutable data (mutable data will be cast to an immutable form). - /// See [`Self::iter_many_mut`] for queries that contain at least one mutable component. + /// Items are returned in the order of the list of entities. + /// Entities that don't match the query are skipped. /// + /// # See also + /// + /// - [`iter_many_mut`](Self::iter_many_mut) to get mutable query items. #[inline] pub fn iter_many<'w, 's, EntityList: IntoIterator>( &'s mut self, @@ -620,7 +623,10 @@ impl QueryState { } } - /// Returns an iterator over the query results of a list of [`Entity`]'s. + /// Returns an iterator over the query items generated from an [`Entity`] list. + /// + /// Items are returned in the order of the list of entities. + /// Entities that don't match the query are skipped. #[inline] pub fn iter_many_mut<'w, 's, EntityList: IntoIterator>( &'s mut self, diff --git a/crates/bevy_ecs/src/system/query.rs b/crates/bevy_ecs/src/system/query.rs index 3e4d37914b622..47532712a6234 100644 --- a/crates/bevy_ecs/src/system/query.rs +++ b/crates/bevy_ecs/src/system/query.rs @@ -461,6 +461,9 @@ impl<'w, 's, Q: WorldQuery, F: WorldQuery> Query<'w, 's, Q, F> { /// Returns an [`Iterator`] over the read-only query items generated from an [`Entity`] list. /// + /// Items are returned in the order of the list of entities. + /// Entities that don't match the query are skipped. + /// /// # Example /// /// ``` @@ -512,7 +515,10 @@ impl<'w, 's, Q: WorldQuery, F: WorldQuery> Query<'w, 's, Q, F> { } } - /// Returns an [`Iterator`] over the query items generated from an [`Entity`] list. + /// Returns an iterator over the query items generated from an [`Entity`] list. + /// + /// Items are returned in the order of the list of entities. + /// Entities that don't match the query are skipped. /// /// # Examples /// From 522ff10969704f3e994d5f04c439c1a569ee060b Mon Sep 17 00:00:00 2001 From: devil-ira Date: Tue, 13 Sep 2022 12:09:53 +0200 Subject: [PATCH 2/2] docdoc --- crates/bevy_ecs/src/query/iter.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/bevy_ecs/src/query/iter.rs b/crates/bevy_ecs/src/query/iter.rs index 6b4e4e4012bb5..7c2ff9344211e 100644 --- a/crates/bevy_ecs/src/query/iter.rs +++ b/crates/bevy_ecs/src/query/iter.rs @@ -72,9 +72,9 @@ impl<'w, 's, Q: WorldQuery, F: WorldQuery> Iterator for QueryIter<'w, 's, Q, F> // This is correct as [`QueryIter`] always returns `None` once exhausted. impl<'w, 's, Q: WorldQuery, F: WorldQuery> FusedIterator for QueryIter<'w, 's, Q, F> {} -/// An [`Iterator`] over [`Query`](crate::system::Query) results of a list of [`Entity`]s. +/// An [`Iterator`] over the query items generated from an iterator of [`Entity`]s. /// -/// Items are returned in the order of the iterator of entities. +/// Items are returned in the order of the provided iterator. /// Entities that don't match the query are skipped. /// /// 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.