@@ -272,8 +272,8 @@ impl<T: SparseSetIndex> FilteredAccess<T> {
272
272
273
273
/// Adds a `With` filter: corresponds to a conjunction (AND) operation.
274
274
///
275
- /// For example, in case we have `Or<(With<A>, With<B>)>`, which is represented by an array of two `AccessFilter` instances,
276
- /// adding `AND With<C>` gets expanded into `Or<((With<A>, With<C>), (With<B>, With<C>))>`.
275
+ /// Suppose we begin with `Or<(With<A>, With<B>)>`, which is represented by an array of two `AccessFilter` instances.
276
+ /// Adding `AND With<C>` via this method transforms it into the equivalent of `Or<((With<A>, With<C>), (With<B>, With<C>))>`.
277
277
pub fn and_with ( & mut self , index : T ) {
278
278
let index = index. sparse_set_index ( ) ;
279
279
for filter in & mut self . filter_sets {
@@ -284,8 +284,8 @@ impl<T: SparseSetIndex> FilteredAccess<T> {
284
284
285
285
/// Adds a `Without` filter: corresponds to a conjunction (AND) operation.
286
286
///
287
- /// For example, in case we have `Or<(With<A>, With<B>)>`, which is represented by an array of two `AccessFilter` instances,
288
- /// adding `AND Without<C>` gets expanded into `Or<((With<A>, Without<C>), (With<B>, Without<C>))>`.
287
+ /// Suppose we begin with `Or<(With<A>, With<B>)>`, which is represented by an array of two `AccessFilter` instances.
288
+ /// Adding `AND Without<C>` via this method transforms it into the equivalent of `Or<((With<A>, Without<C>), (With<B>, Without<C>))>`.
289
289
pub fn and_without ( & mut self , index : T ) {
290
290
let index = index. sparse_set_index ( ) ;
291
291
for filter in & mut self . filter_sets {
@@ -315,7 +315,7 @@ impl<T: SparseSetIndex> FilteredAccess<T> {
315
315
316
316
// If the access instances are incompatible, we want to check that whether filters can
317
317
// guarantee that queries are disjoint.
318
- // Since the `filter_sets` array represents a DNF formula ("ORs of ANDs"),
318
+ // Since the `filter_sets` array represents a Disjunctive Normal Form formula ("ORs of ANDs"),
319
319
// we need to make sure that each filter set (ANDs) rule out every filter set from the `other` instance.
320
320
//
321
321
// For example, `Query<&mut C, Or<(With<A>, Without<B>)>>` is compatible `Query<&mut C, (With<B>, Without<A>)>`,
0 commit comments