25 #include "antares/expressions/nodes/ParentNode.h"
27 namespace Antares::Expressions::Nodes
33 enum class FunctionNodeType
48 std::string FunctionNodeTypeToString(FunctionNodeType type);
72 template<
typename... NodePtr>
107 std::string
name()
const override
109 return "FunctionNode::" + FunctionNodeTypeToString(type_);
125 return FunctionNodeTypeToString(type_);
129 FunctionNodeType type_;
AST node representing a function expression (max, min, pow, ...).
Definition: FunctionNode.h:63
std::string name() const override
Definition: FunctionNode.h:107
FunctionNode(FunctionNodeType type, const std::vector< Node * > &operands)
Construct a FunctionNode from an existing vector of operands.
Definition: FunctionNode.h:86
FunctionNodeType type() const
Definition: FunctionNode.h:115
FunctionNode(FunctionNodeType type, NodePtr... operands)
Construct a FunctionNode from a list of operands.
Definition: FunctionNode.h:73
FunctionNode(FunctionNodeType type, std::vector< Node * > &&operands)
Construct a FunctionNode by moving operand vector.
Definition: FunctionNode.h:98
std::string typeToString() const
Definition: FunctionNode.h:123
Definition: ParentNode.h:41