Enzo
Loading...
Searching...
No Matches
ThreadState.h
1#pragma once
2#include "Engine/Core/Types.h"
3#include "daScript/daScript.h"
4#include <optional>
5#include <vector>
6
7namespace enzo::expr {
8class ExpressionContext;
9}
10
11namespace enzo::daslang {
12
21struct ThreadState : das::Context
22{
23 ThreadState(uint32_t stackSize) : das::Context(stackSize) {}
24 ThreadState(const ThreadState& other, uint32_t category) : das::Context(other, category) {}
25
28
30 std::optional<size_t> primitiveIndex;
31
33 std::vector<String> warnings;
34};
35
36} // namespace enzo::daslang
Basic attribute, parameter, and node types for Enzo.
The world a single expression evaluation reads and writes to.
Definition ExpressionContext.h:28
A daslang runtime context that also carries our evaluation world.
Definition ThreadState.h:22
std::vector< String > warnings
The warnings the runs on this context added, without duplicates.
Definition ThreadState.h:33
const expr::ExpressionContext * expressionContext
The world the running function reads, a ScriptContext when primitiveIndex is set.
Definition ThreadState.h:27
std::optional< size_t > primitiveIndex
The input primitive the running script works on, empty outside a script run.
Definition ThreadState.h:30