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

Classes

struct  Data
 

Public Types

enum  QueryFlags : uint16_t {
  Empty = 0x00 , SortEntities = 0x01 , SortGroups = 0x02 , Complex = 0x04 ,
  Recompile = 0x08 , HasSourceTerms = 0x10 , HasVariableTerms = 0x20 , MatchPrefab = 0x40 ,
  HasPrefabTerms = 0x80 , OrderGroups = 0x100
}
 
enum class  CachePolicy : uint8_t { Immediate , Lazy , Dynamic }
 
enum class  CreateArchetypeMatchKind : uint8_t { Vm , DirectStructuralTerms }
 
enum class  DynamicCacheKind : uint8_t {
  None , RelationOnly , DirectSource , TraversedSource ,
  Variable , Mixed
}
 Dynamic-cache dependency shape derived from compiled query metadata. More...
 
enum class  DirectTargetEvalKind : uint8_t {
  Generic , SingleAllDirect , SingleAllSemanticIs , SingleAllInIs ,
  SingleAllInherited
}
 
enum  DependencyFlags : uint16_t {
  DependencyNone = 0x00 , DependencyHasSourceTerms = 0x01 , DependencyHasVariableTerms = 0x02 , DependencyHasPositiveTerms = 0x04 ,
  DependencyHasNegativeTerms = 0x08 , DependencyHasAnyTerms = 0x10 , DependencyHasWildcardTerms = 0x20 , DependencyHasSort = 0x40 ,
  DependencyHasGroup = 0x80 , DependencyHasTraversalTerms = 0x100 , DependencyHasEntityFilterTerms = 0x200 , DependencyHasInheritedDataTerms = 0x400 ,
  DependencyHasPotentialInheritedIdTerms = 0x800
}
 

Public Member Functions

void init (World *pWorld)
 
void refresh ()
 
GAIA_NODISCARD bool operator== (const QueryCtx &other) const noexcept
 
GAIA_NODISCARD bool operator!= (const QueryCtx &other) const noexcept
 

Static Public Member Functions

static GAIA_NODISCARD bool equals_no_handle_assumption (const QueryCtx &leftCtx, const QueryCtx &rightCtx) noexcept
 

Public Attributes

const Worldw {}
 
ComponentCachecc {}
 Component cache.
 
QueryLookupHash hashLookup {}
 Lookup hash for this query.
 
QueryIdentity q {}
 Query identity.
 
struct gaia::ecs::QueryCtx::Data data
 

Member Enumeration Documentation

◆ DynamicCacheKind

enum class gaia::ecs::QueryCtx::DynamicCacheKind : uint8_t
strong

Dynamic-cache dependency shape derived from compiled query metadata.

Enumerator
None 

Query does not use dynamic-cache validation.

RelationOnly 

Dynamic cache is invalidated by relation version dependencies only.

DirectSource 

Dynamic cache tracks concrete source entity archetype versions.

TraversedSource 

Dynamic cache tracks a traversed source closure.

Variable 

Dynamic cache tracks runtime variable bindings only.

Mixed 

Dynamic cache tracks more than one dependency family.


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