eval::Graph
The edit-time form of an expression program: input slots and output expressions.
| Declared in | src/libs/libeval/eval/Graph.hpp |
| Group | eval |
Detailed description
A caller declares input slots with declareInput() and output expressions with declareOutput(), in any order. compile() sorts the outputs by their dependencies, type-checks the whole program, and returns an immutable eval::Program, or the diagnostics that stopped it.
One Graph serves one editing session. It is move-only, and the Program it compiles does not refer back to it. Every backend shares one front end: the program's GLSL goes through glslang to SPIR-V, and the Backend only selects what runs that SPIR-V.
See also eval::Program, eval::evaluate().