Struct shipyard::Not [−][src]
pub struct Not<T>(_);
Expand description
Used to filter out components. Get and iterators will skip entities that have this component.
Example
use shipyard::{EntitiesViewMut, IntoIter, Shiperator, View, ViewMut, World};
let world = World::new();
world.run(
|mut entities: EntitiesViewMut, mut usizes: ViewMut<usize>, mut u32s: ViewMut<u32>| {
entities.add_entity((&mut usizes, &mut u32s), (0usize, 1u32));
entities.add_entity((&mut usizes,), (2usize,));
},
);
world.run(|usizes: View<usize>, u32s: View<u32>| {
let mut iter = (&usizes, !&u32s).iter();
assert_eq!(iter.next(), Some((&2, ())));
assert_eq!(iter.next(), None);
let mut iter = (&usizes, &u32s).iter();
assert_eq!(iter.next(), Some((&0, &1)));
assert_eq!(iter.next(), None);
});
Trait Implementations
Auto Trait Implementations
impl<T> RefUnwindSafe for Not<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Not<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more