|
|
Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
|
One IR statement. More...
#include "donner/gpu/shader/IrStatement.h"
Classes | |
| struct | Data |
| Internal storage; public for the builder and serialization implementation. More... | |
Public Types | |
| enum class | Kind : uint8_t { Let , Var , Assign , If , For , Break , Continue , Return , Discard } |
| Statement kind. More... | |
Public Member Functions | |
| IrStmt (Data &&data) | |
| Wraps validated statement data; called by the builder only. | |
| Kind | kind () const |
| Statement kind. | |
| const Data & | data () const |
| Statement payload. | |
One IR statement.
Construct through FunctionBuilder; this class is an immutable value handle over validated statement data.
| struct donner::gpu::shader::IrStmt::Data |
Internal storage; public for the builder and serialization implementation.
| Class Members | ||
|---|---|---|
| IrBlock | body | If-then / for body. |
| shared_ptr< const IrStmt > | continuing | For-loop continuing statement. |
| optional< IrType > | declaredType | Var declared type. |
| IrBlock | elseBody | If-else body. |
| vector< IrExpr > | exprs | Kind-dependent expressions: let/var init, assign (lhs, rhs), if/for condition, return values. |
| shared_ptr< const IrStmt > | init | For-loop init statement. |
| Kind | kind = Kind::Break | Statement kind. |
| RcString | name | Let/var name. |
|
strong |
Statement kind.
|
inlineexplicit |
Wraps validated statement data; called by the builder only.
| data | Statement payload. |