Doxygen
ExprAstFunctionVariable类 参考
+ 类 ExprAstFunctionVariable 继承关系图:
+ ExprAstFunctionVariable 的协作图:

Public 成员函数

 ExprAstFunctionVariable (ExprAstPtr &&var, ExprAstList &&args)
 
virtual TemplateVariant resolve (TemplateContext *c)
 
- Public 成员函数 继承自 ExprAst
virtual ~ExprAst ()
 

Private 属性

ExprAstPtr m_var
 
ExprAstList m_args
 

详细描述

在文件 template.cpp1706 行定义.

构造及析构函数说明

◆ ExprAstFunctionVariable()

ExprAstFunctionVariable::ExprAstFunctionVariable ( ExprAstPtr &&  var,
ExprAstList &&  args 
)
inline

在文件 template.cpp1709 行定义.

1710  : m_var(std::move(var)), m_args(std::move(args))
1711  { TRACE(("ExprAstFunctionVariable()\n"));
1712  }

引用了 TRACE.

成员函数说明

◆ resolve()

virtual TemplateVariant ExprAstFunctionVariable::resolve ( TemplateContext c)
inlinevirtual

重载 ExprAst .

在文件 template.cpp1713 行定义.

1714  {
1715  std::vector<TemplateVariant> args;
1716  for (const auto &exprArg : m_args)
1717  {
1718  TemplateVariant v = exprArg->resolve(c);
1719  args.push_back(v);
1720  }
1721  TemplateVariant v = m_var->resolve(c);
1722  if (v.isFunction())
1723  {
1724  v = v.call(args);
1725  }
1726  return v;
1727  }

引用了 TemplateVariant::call(), TemplateVariant::isFunction(), m_args , 以及 m_var.

类成员变量说明

◆ m_args

ExprAstList ExprAstFunctionVariable::m_args
private

在文件 template.cpp1730 行定义.

被这些函数引用 resolve().

◆ m_var

ExprAstPtr ExprAstFunctionVariable::m_var
private

在文件 template.cpp1729 行定义.

被这些函数引用 resolve().


该类的文档由以下文件生成:
TemplateVariant::isFunction
constexpr bool isFunction() const
Returns TRUE if the variant holds a function value
Definition: template.h:215
TemplateVariant::call
TemplateVariant call(const std::vector< TemplateVariant > &args=std::vector< TemplateVariant >())
Return the result of apply this function with args.
Definition: template.cpp:454
ExprAstFunctionVariable::m_args
ExprAstList m_args
Definition: template.cpp:1730
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
TRACE
#define TRACE(x)
Definition: template.cpp:40
ExprAstFunctionVariable::m_var
ExprAstPtr m_var
Definition: template.cpp:1729