Gaia-ECS v1.0.0
A simple and powerful entity component system
Loading...
Searching...
No Matches
gaia::ecs::QueryCtx::Data::Dependencies Struct Reference

Deduplicated entities and flags that can invalidate or update a query cache. More...

#include <query_common.h>

Public Member Functions

void clear ()
 Resets dependency counts and flags while retaining fixed storage.
 
GAIA_NODISCARD std::span< const Entitycreate_selectors_view () const
 Returns positive selector ids used during archetype creation.
 
GAIA_NODISCARD std::span< const Entityexclusions_view () const
 Returns negative selector ids used during archetype creation.
 
GAIA_NODISCARD std::span< const Entityrelations_view () const
 Returns relation-version dependencies.
 
GAIA_NODISCARD std::span< const Entitysrc_entities_view () const
 Returns concrete source-entity dependencies.
 
void set_dep_flag (DependencyFlags dependency)
 Records a dependency fact.
 
GAIA_NODISCARD bool has_dep_flag (DependencyFlags dependency) const
 Tests whether a dependency fact was recorded.
 
void add_rel (Entity relation)
 Adds a unique relation-version dependency.
 
void add_src_entity (Entity entity)
 Adds a unique concrete source-entity dependency.
 
GAIA_NODISCARD bool can_reuse_src_cache () const
 Checks whether each fixed-source term has a distinct tracked entity.
 

Public Attributes

QueryEntityArray createSelectors
 Positive selector ids used for archetype-create propagation.
 
QueryEntityArray exclusions
 Negative selector ids used to reject new archetypes.
 
QueryEntityArray relations
 Relations whose topology versions affect cached results.
 
QueryEntityArray sourceEntities
 Concrete source entities whose archetype versions affect cached results.
 
uint8_t createSelectorCnt = 0
 Number of valid entries in createSelectors.
 
uint8_t exclusionCnt = 0
 Number of valid entries in exclusions.
 
uint8_t relationCnt = 0
 Number of valid entries in relations.
 
uint8_t sourceEntityCnt = 0
 Number of valid entries in sourceEntities.
 
uint8_t sourceTermCnt = 0
 Number of fixed-source terms, including duplicate source entities.
 
DependencyFlags flags = DependencyNone
 Combined DependencyFlags describing the compiled query shape.
 

Detailed Description

Deduplicated entities and flags that can invalidate or update a query cache.

Member Function Documentation

◆ add_rel()

void gaia::ecs::QueryCtx::Data::Dependencies::add_rel ( Entity  relation)
inline

Adds a unique relation-version dependency.

Parameters
relationRelation whose topology affects query results.

◆ add_src_entity()

void gaia::ecs::QueryCtx::Data::Dependencies::add_src_entity ( Entity  entity)
inline

Adds a unique concrete source-entity dependency.

Parameters
entitySource entity whose archetype membership affects results.

◆ can_reuse_src_cache()

GAIA_NODISCARD bool gaia::ecs::QueryCtx::Data::Dependencies::can_reuse_src_cache ( ) const
inline

Checks whether each fixed-source term has a distinct tracked entity.

Returns
True when targeted source-version checks can validate the cache.

◆ create_selectors_view()

GAIA_NODISCARD std::span< const Entity > gaia::ecs::QueryCtx::Data::Dependencies::create_selectors_view ( ) const
inline

Returns positive selector ids used during archetype creation.

Returns
Read-only view over valid createSelectors entries.

◆ exclusions_view()

GAIA_NODISCARD std::span< const Entity > gaia::ecs::QueryCtx::Data::Dependencies::exclusions_view ( ) const
inline

Returns negative selector ids used during archetype creation.

Returns
Read-only view over valid exclusions entries.

◆ has_dep_flag()

GAIA_NODISCARD bool gaia::ecs::QueryCtx::Data::Dependencies::has_dep_flag ( DependencyFlags  dependency) const
inline

Tests whether a dependency fact was recorded.

Parameters
dependencyFlag to test.
Returns
True when dependency is set in flags.

◆ relations_view()

GAIA_NODISCARD std::span< const Entity > gaia::ecs::QueryCtx::Data::Dependencies::relations_view ( ) const
inline

Returns relation-version dependencies.

Returns
Read-only view over valid relations entries.

◆ set_dep_flag()

void gaia::ecs::QueryCtx::Data::Dependencies::set_dep_flag ( DependencyFlags  dependency)
inline

Records a dependency fact.

Parameters
dependencyFlag to add to flags.

◆ src_entities_view()

GAIA_NODISCARD std::span< const Entity > gaia::ecs::QueryCtx::Data::Dependencies::src_entities_view ( ) const
inline

Returns concrete source-entity dependencies.

Returns
Read-only view over valid sourceEntities entries.

The documentation for this struct was generated from the following file: