Doxygen
TemplateFilterFactory类 参考

Factory singleton for registering and creating filters 更多...

class  AutoRegister
 Helper class for registering a filter function 更多...
 

Public 类型

typedef TemplateVariant() FilterFunction(const TemplateVariant &v, const TemplateVariant &arg)
 

Public 成员函数

TemplateVariant apply (const QCString &name, const TemplateVariant &v, const TemplateVariant &arg, bool &ok)
 
void registerFilter (const QCString &name, FilterFunction *func)
 

静态 Public 成员函数

static TemplateFilterFactoryinstance ()
 

Private 属性

std::unordered_map< std::string, FilterFunction * > m_registry
 

详细描述

Factory singleton for registering and creating filters

在文件 template.cpp1583 行定义.

成员类型定义说明

◆ FilterFunction

typedef TemplateVariant() TemplateFilterFactory::FilterFunction(const TemplateVariant &v, const TemplateVariant &arg)

在文件 template.cpp1586 行定义.

成员函数说明

◆ apply()

TemplateVariant TemplateFilterFactory::apply ( const QCString name,
const TemplateVariant v,
const TemplateVariant arg,
bool &  ok 
)
inline

在文件 template.cpp1595 行定义.

1596  {
1597  auto it = m_registry.find(name.str());
1598  if (it!=m_registry.end())
1599  {
1600  ok=TRUE;
1601  return it->second(v,arg);
1602  }
1603  else
1604  {
1605  ok=FALSE;
1606  return v;
1607  }
1608  }

引用了 FALSE, m_registry, QCString::str() , 以及 TRUE.

被这些函数引用 ExprAstFilter::apply().

◆ instance()

static TemplateFilterFactory& TemplateFilterFactory::instance ( )
inlinestatic

在文件 template.cpp1588 行定义.

1589  {
1590  static std::unique_ptr<TemplateFilterFactory> instance;
1591  if (instance==0) instance = std::make_unique<TemplateFilterFactory>();
1592  return *instance;
1593  }

被这些函数引用 ExprAstFilter::apply() , 以及 TemplateFilterFactory::AutoRegister< T >::AutoRegister().

◆ registerFilter()

void TemplateFilterFactory::registerFilter ( const QCString name,
FilterFunction func 
)
inline

在文件 template.cpp1610 行定义.

1611  {
1612  m_registry.insert(std::make_pair(name.str(),func));
1613  }

引用了 m_registry , 以及 QCString::str().

被这些函数引用 TemplateFilterFactory::AutoRegister< T >::AutoRegister().

类成员变量说明

◆ m_registry

std::unordered_map<std::string,FilterFunction*> TemplateFilterFactory::m_registry
private

在文件 template.cpp1626 行定义.

被这些函数引用 apply() , 以及 registerFilter().


该类的文档由以下文件生成:
Rtf_Style_Default::name
const char * name
Definition: rtfstyle.h:40
TemplateFilterFactory::instance
static TemplateFilterFactory & instance()
Definition: template.cpp:1588
TRUE
#define TRUE
Definition: qcstring.h:36
TemplateFilterFactory::m_registry
std::unordered_map< std::string, FilterFunction * > m_registry
Definition: template.cpp:1626
FALSE
#define FALSE
Definition: qcstring.h:33