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

Classes

struct  Dependencies
 

Public Member Functions

GAIA_NODISCARD std::span< const Entityids_view () const
 
GAIA_NODISCARD std::span< const Entitychanged_view () const
 
GAIA_NODISCARD std::span< const Entitygroup_deps_view () const
 
void add_group_dep (Entity relation)
 Adds a declared grouping invalidation dependency.
 
void add_group_deps ()
 Adds all grouping invalidation relations to the dependency set.
 
GAIA_NODISCARD std::span< QueryTermterms_view_mut ()
 
GAIA_NODISCARD std::span< const QueryTermterms_view () const
 

Public Attributes

QueryEntityArray ids
 Array of queried ids.
 
cnt::sarray< QueryTerm, MAX_ITEMS_IN_QUERY > terms
 Array of terms.
 
cnt::sarray< QueryTerm, MAX_ITEMS_IN_QUERY > lookupTerms
 Canonicalized lookup terms reused by hash/equality for shared query dedup.
 
QueryArchetypeCacheIndexMap lastMatchedArchetypeIdx_All
 Index of the last checked archetype in the component-to-archetype map.
 
QueryArchetypeCacheIndexMap lastMatchedArchetypeIdx_Or
 
QueryArchetypeCacheIndexMap lastMatchedArchetypeIdx_Not
 
uint8_t idsCnt = 0
 
uint8_t changedCnt = 0
 
QueryEntityArray changed
 Array of filtered components.
 
QueryEntityArray changedLookup
 Canonicalized changed-filter ids reused by hash/equality for shared query dedup.
 
QueryEntityArray groupDeps
 Explicit grouping invalidation dependencies for custom group_by callbacks.
 
QueryEntityArray groupDepsLookup
 Canonicalized group dependency ids reused by hash/equality for shared query dedup.
 
Entity sortBy
 Entity to sort the archetypes by. EntityBad for no sorting.
 
TSortByFunc sortByFunc
 Function to use to perform sorting.
 
Entity groupBy
 Entity to group the archetypes by. EntityBad for no grouping.
 
TGroupByFunc groupByFunc
 Function to use to perform the grouping.
 
QueryMask queryMask
 Component mask used for faster matching of simple queries.
 
uint32_t as_mask_0
 Mask for items with Is relationship pair. If the id is a pair, the first part (id) is written here.
 
uint32_t as_mask_1
 Mask for items with Is relationship pair. If the id is a pair, the second part (gen) is written here.
 
uint8_t firstNot
 First NOT record in pairs/ids/ops.
 
uint8_t firstAny
 First ANY record in pairs/ids/ops.
 
uint8_t firstOr
 First OR record in pairs/ids/ops.
 
uint8_t groupDepCnt = 0
 Number of defined group dependencies.
 
uint16_t readWriteMask
 Read-write mask. Bit 0 stands for component 0 in component arrays. A set bit means write access is requested.
 
uint8_t flags
 Query flags.
 
uint16_t cacheSrcTrav = 0
 Maximum allowed size of an explicitly cached traversed-source lookup closure.
 
DirectTargetEvalKind directTargetEvalKind = DirectTargetEvalKind::Generic
 Specialized direct-target evaluation shape for single-term queries.
 
Entity directTargetEvalId = EntityBad
 Term id used by the specialized direct-target evaluation shape.
 
Dependencies deps
 Explicit dependency metadata derived from query shape.
 
CachePolicy cachePolicy = CachePolicy::Lazy
 Cache maintenance policy derived from query shape.
 
CreateArchetypeMatchKind createArchetypeMatchKind = CreateArchetypeMatchKind::Vm
 Create-time archetype matcher derived from query shape.
 

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