Module |
|
Header |
/Engine/Source/Developer/RigVMDeveloper/Public/RigVMCompiler/RigVMAST.h |
Include |
#include "RigVMCompiler/RigVMAST.h" |
class FRigVMExprAST
Base class for an expression within an abstract syntax tree. The base implements parent / child relationships as well as a simple typing system. An expression is a multi child / multi parent element of a directed tree (there can be no cycles). Expressions can only be constructed by an AST parser, and are also memory-owned by the parser.
Name | Description | |
---|---|---|
|
FRigVMExprAST ( |
Disable copy constructor |
|
FRigVMExprAST ( |
Default constructor (protected so that only parser can access it) |
Name | Description | |
---|---|---|
|
~FRigVMExprAST() |
Virtual destructor |
Name | Description | ||
---|---|---|---|
|
AddParent ( |
Adds a parent to this expression this in consequence also adds this as a child to the parent |
|
|
begin() |
Begin iterator accessor for the children |
|
|
const FRigVM... |
ChildAt ( |
Getter to retrieve a child with a given index |
|
const Object... |
ChildAt ( |
Templated getter to retrieve a child with a given index type checking will occur within the ::To method and raise |
|
end() |
End iterator accessor for the children |
|
|
const FRigVM... |
GetBlock() |
Returns the block of this expression |
|
const FRigVM... |
GetFirstChildOfType ( |
Returns the first parent in the tree of a given type |
|
const FRigVM... |
GetFirstParentOfType ( |
Returns the first parent in the tree of a given type |
|
GetIndex() |
Returns the index of this expression within the parser's storage |
|
|
GetMinChildIndexWithinParent ( |
Returns the lowest child index found for this expression within a parent (or INDEX_NONE) |
|
|
GetName() |
Returns the name of the expression (can be NAME_None) |
|
|
const FRigVM... |
GetParent() |
Returns the parent of this expression |
|
const FRigVM... |
GetParser() |
Returns the parser this expression is owned by |
|
const FRigVM... |
GetRootBlock() |
Returns the root / top level block of this expression |
|
GetType() |
Returns the exact type of the expression |
|
|
GetTypeName() |
Returns the name of the expression's type |
|
|
IsA ( |
Provides type checking for inherited types |
|
|
IsConstant() |
Returns true if this expressions is constant (non varying) |
|
|
IsVarying() |
Returns true if this expressions is varying (non constant) |
|
|
NumChildren() |
Returns the number of children of this expression |
|
|
NumParents() |
Returns the number of parents of this expression |
|
|
const FRigVM... |
ParentAt ( |
Getter to retrieve a parent with a given index |
|
const Object... |
ParentAt ( |
Templated getter to retrieve a parent with a given index type checking will occur within the ::To method and raise |
|
RemoveChild ( |
Removes a child from this expression this in consequence also removes this as a parent from the child |
|
|
RemoveParent ( |
Removes a parent from this expression this in consequence also removes this as a child from the parent |
|
|
ReplaceBy ( |
Replaces this expression with another one |
|
|
ReplaceChild ( |
Replaces a child of this expression with a new one |
|
|
ReplaceParent ( |
Replaces a parent of this expression with a new one |
|
|
const FRigVM... |
To() |
Specialized cast for type checking for a Select / FRigVMSelectExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a If / FRigVMIfExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Branch / FRigVMBranchExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Exit / FRigVMExitExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a CachedValue / FRigVMCachedValueExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Copy / FRigVMCopyExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Assign / FRigVMAssignExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a External Variable / FRigVMExternalVarExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Literal / FRigVMLiteralExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a NoOp / FRigVMNoOpExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a CallExtern / FRigVMCallExternExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Entry / FRigVMEntryExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checkiFRigVMAssignExprASTng for a Block / FRigVMBlockExprAST expression will raise if types are not compatible |
|
ObjectType &... |
To() |
Templated cast for casting between different expression types. |
|
const Object... |
To() |
Const templated cast for casting between different expression types. |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Var / FRigVMVarExprAST expression will raise if types are not compatible |
|
const FRigVM... |
To() |
Specialized cast for type checking for a Array / FRigVMArrayExprAST expression will raise if types are not compatible |
Name | Description | ||
---|---|---|---|
|
const FRigVM... |
operator[] ( |
Accessor operator for a given child |
Name |
Description |
|
---|---|---|
|
EType |
Simple enum for differentiating expression types. |