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

Compiles query terms into matching bytecode and evaluates that bytecode against archetypes. The VM owns query matching and cache construction only. Row, chunk, entity-seed, sorted, traversal, and mapped typed callback dispatch are selected later by QueryImpl::QueryPlan. More...

#include <vm.h>

Public Member Functions

GAIA_NODISCARD util::str bytecode (const World &world) const
 
void compile (const EntityToArchetypeMap &entityToArchetypeMap, std::span< const Archetype * > allArchetypes, QueryCtx &queryCtx)
 Transforms inputs into virtual machine opcodes.
 
void create_opcodes (QueryCtx &queryCtx)
 
GAIA_NODISCARD bool is_compiled () const
 
GAIA_NODISCARD uint32_t op_count () const
 
GAIA_NODISCARD uint64_t op_signature () const
 
void exec (MatchingCtx &ctx)
 Executes compiled opcodes.
 

Detailed Description

Compiles query terms into matching bytecode and evaluates that bytecode against archetypes. The VM owns query matching and cache construction only. Row, chunk, entity-seed, sorted, traversal, and mapped typed callback dispatch are selected later by QueryImpl::QueryPlan.


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