#pragma once #include #include #include #include #include class NumericOperationNode : public WorkflowNode { public: enum OperationType { Addition, Subtraction, Multiplication, Division, InvalidType, TypeCount = InvalidType, }; private: OperationType mType; public: static Kind OperationTypeToNodeKind(OperationType type); static OperationType NodeKindToOperationType(Kind kind); static bool IsInstance(const WorkflowNode* node); NumericOperationNode(OperationType type); virtual void Evaluate(WorkflowEvaluationContext& ctx) override; }; class NumericExpressionNode : public WorkflowNode { public: static bool IsInstance(const WorkflowNode* node); NumericExpressionNode(); // TODO virtual void Evaluate(WorkflowEvaluationContext& ctx) override; };