XII Release 0.1.0
Loading...
Searching...
No Matches
xiiExpressionAST Class Reference

Classes

struct  BinaryOperator
 
struct  Constant
 
struct  ConstructorCall
 
struct  DataType
 
struct  FunctionCall
 
struct  Input
 
struct  Node
 
struct  NodeType
 
struct  Output
 
struct  Swizzle
 
struct  TernaryOperator
 
struct  UnaryOperator
 
struct  VectorComponent
 

Public Member Functions

UnaryOperatorCreateUnaryOperator (NodeType::Enum type, Node *pOperand, DataType::Enum returnType=DataType::Unknown)
 
BinaryOperatorCreateBinaryOperator (NodeType::Enum type, Node *pLeftOperand, Node *pRightOperand)
 
TernaryOperatorCreateTernaryOperator (NodeType::Enum type, Node *pFirstOperand, Node *pSecondOperand, Node *pThirdOperand)
 
ConstantCreateConstant (const xiiVariant &value, DataType::Enum dataType=DataType::Float)
 
SwizzleCreateSwizzle (xiiStringView sSwizzle, Node *pExpression)
 
SwizzleCreateSwizzle (xiiEnum< VectorComponent > component, Node *pExpression)
 
SwizzleCreateSwizzle (xiiArrayPtr< xiiEnum< VectorComponent > > swizzle, Node *pExpression)
 
InputCreateInput (const xiiExpression::StreamDesc &desc)
 
OutputCreateOutput (const xiiExpression::StreamDesc &desc, Node *pExpression)
 
FunctionCallCreateFunctionCall (const xiiExpression::FunctionDesc &desc, xiiArrayPtr< Node * > arguments)
 
FunctionCallCreateFunctionCall (xiiArrayPtr< const xiiExpression::FunctionDesc > descs, xiiArrayPtr< Node * > arguments)
 
ConstructorCallCreateConstructorCall (DataType::Enum dataType, xiiArrayPtr< Node * > arguments)
 
ConstructorCallCreateConstructorCall (Node *pOldValue, Node *pNewValue, xiiStringView sPartialAssignmentMask)
 
void PrintGraph (xiiDGMLGraph &ref_graph) const
 
NodeTypeDeductionAndConversion (Node *pNode)
 
NodeReplaceVectorInstructions (Node *pNode)
 
NodeScalarizeVectorInstructions (Node *pNode)
 
NodeReplaceUnsupportedInstructions (Node *pNode)
 
NodeFoldConstants (Node *pNode)
 
NodeCommonSubexpressionElimination (Node *pNode)
 
NodeValidate (Node *pNode)
 
xiiResult ScalarizeInputs ()
 
xiiResult ScalarizeOutputs ()
 

Static Public Member Functions

static xiiArrayPtr< Node * > GetChildren (Node *pNode)
 
static xiiArrayPtr< const Node * > GetChildren (const Node *pNode)
 

Public Attributes

xiiSmallArray< Input *, 8 > m_InputNodes
 
xiiSmallArray< Output *, 8 > m_OutputNodes
 

The documentation for this class was generated from the following files: