Doxygen
FilterAdd类 参考

The implementation of the "add" filter 更多...

静态 Public 成员函数

static int variantIntValue (const TemplateVariant &v, bool &isInt)
 
static TemplateVariant apply (const TemplateVariant &v, const TemplateVariant &arg)
 

详细描述

The implementation of the "add" filter

在文件 template.cpp730 行定义.

成员函数说明

◆ apply()

static TemplateVariant FilterAdd::apply ( const TemplateVariant v,
const TemplateVariant arg 
)
inlinestatic

在文件 template.cpp741 行定义.

742  {
743  if (!v.isValid())
744  {
745  return arg;
746  }
747  bool lhsIsInt;
748  int lhsValue = variantIntValue(v,lhsIsInt);
749  bool rhsIsInt;
750  int rhsValue = variantIntValue(arg,rhsIsInt);
751  if (lhsIsInt && rhsIsInt)
752  {
753  return lhsValue+rhsValue;
754  }
755  else if (v.isString() && arg.isString())
756  {
757  return TemplateVariant(v.toString() + arg.toString());
758  }
759  else
760  {
761  return v;
762  }
763  }

引用了 TemplateVariant::isString(), TemplateVariant::isValid(), TemplateVariant::toString() , 以及 variantIntValue().

◆ variantIntValue()

static int FilterAdd::variantIntValue ( const TemplateVariant v,
bool &  isInt 
)
inlinestatic

在文件 template.cpp733 行定义.

734  {
735  if (!v.isInt() && v.isString())
736  {
737  return v.toString().toInt(&isInt);
738  }
739  return v.isInt() ? v.toInt() : 0;
740  }

引用了 TemplateVariant::isInt(), TemplateVariant::isString(), TemplateVariant::toInt(), QCString::toInt() , 以及 TemplateVariant::toString().

被这些函数引用 apply().


该类的文档由以下文件生成:
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
TemplateVariant::isInt
constexpr bool isInt() const
Returns TRUE if the variant holds an integer value
Definition: template.h:207
QCString::toInt
int toInt(bool *ok=0, int base=10) const
Definition: qcstring.cpp:244
TemplateVariant::toString
QCString toString() const
Returns the variant as a string.
Definition: template.cpp:399
TemplateVariant::isValid
constexpr bool isValid() const
Returns TRUE if the variant holds a valid value, or FALSE otherwise
Definition: template.h:203
FilterAdd::variantIntValue
static int variantIntValue(const TemplateVariant &v, bool &isInt)
Definition: template.cpp:733
TemplateVariant::toInt
int toInt() const
Returns the variant as an integer.
Definition: template.cpp:383
TemplateVariant::isString
constexpr bool isString() const
Returns TRUE if the variant holds a string value
Definition: template.h:209