![]() |
Gaia-ECS v0.9.3
A simple and powerful entity component system
|
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. | |
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.