Skip to main content

QueryState

Trait QueryState 

Source
pub trait QueryState:
    Send
    + Sync
    + Clone
    + 'static { }
Expand description

Trait for query state types.

Query state caches information needed for efficient query execution. The state is initialized once and reused for all query operations.

§Requirements

State types must be:

  • Send + Sync: For parallel query execution
  • Clone: To allow query state to be copied if needed

§Example

use goud_engine::ecs::component::ComponentId;
use goud_engine::ecs::query::QueryState;

// ComponentId implements QueryState
fn requires_query_state<S: QueryState>() {}
requires_query_state::<ComponentId>();

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T: Send + Sync + Clone + 'static> QueryState for T