Function re_query::range_archetype

source ·
pub fn range_archetype<'a, A: Archetype + 'a, const N: usize>(
    store: &'a DataStore,
    query: &RangeQuery,
    ent_path: &'a EntityPath
) -> impl Iterator<Item = ArchetypeView<A>> + 'a
Expand description

Iterates over the rows of any number of components and their respective cluster keys, all from the point-of-view of the required components, returning an iterator of ArchetypeViews.

The iterator only ever yields entity-views iff a required component has changed: a change affecting only optional components will not yield an entity-view. However, the changes in those secondary components will be accumulated into the next yielded entity-view.

This is a streaming-join: every yielded ArchetypeView will be the result of joining the latest known state of all components, from their respective point-of-views.

⚠ The semantics are subtle! See examples/range.rs for an example of use.