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

Public Member Functions

GAIA_NODISCARD std::span< const Entityids_view () const
 
GAIA_NODISCARD std::span< const Entitychanged_view () const
 
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< uint8_t, MAX_ITEMS_IN_QUERY > _remapping
 Mapping of the original indices to the new ones after sorting.
 
QueryArchetypeCacheIndexMap lastMatchedArchetypeIdx_All
 Index of the last checked archetype in the component-to-archetype map.
 
QueryArchetypeCacheIndexMap lastMatchedArchetypeIdx_Any
 
QueryArchetypeCacheIndexMap lastMatchedArchetypeIdx_Not
 
uint8_t idsCnt = 0
 
uint8_t changedCnt = 0
 
GroupId groupIdSet
 Iteration will be restricted only to target Group.
 
QueryEntityArray _changed
 Array of filtered components.
 
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 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.
 

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