pub trait ReadOnlyQueryData: QueryData { }Expand description
A QueryData that only reads, so it can run on a shared &World
(Query::iter, Query::par_for_each).
Implemented for &T, Option<&T>, Entity and tuples of them.
use pragma_ecs::{Entity, Query, ReadOnlyQueryData, World};
fn count<Q: ReadOnlyQueryData>(world: &World) -> Result<usize, pragma_ecs::EcsError> {
Ok(Query::<Q>::new()?.iter(world)?.count())
}
let mut world = World::new();
let entity = world.spawn()?;
world.insert(entity, 1_u32)?;
assert_eq!(count::<(Entity, &u32)>(&world)?, 1);Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".