Doxygen
TemplateNodeSet类 参考

Class representing an 'set' tag in a template 更多...

+ 类 TemplateNodeSet 继承关系图:
+ TemplateNodeSet 的协作图:

struct  Mapping
 

Public 成员函数

 TemplateNodeSet (TemplateParser *parser, TemplateNode *parent, int line, const QCString &data)
 
 ~TemplateNodeSet ()
 
void render (TextStream &, TemplateContext *c)
 
- Public 成员函数 继承自 TemplateNodeCreator< TemplateNodeSet >
 TemplateNodeCreator (TemplateParser *parser, TemplateNode *parent, int line)
 
TemplateImplgetTemplate ()
 
- Public 成员函数 继承自 TemplateNode
 TemplateNode (TemplateNode *parent)
 
virtual ~TemplateNode ()
 
TemplateNodeparent ()
 

Private 属性

std::unique_ptr< Mappingm_mapping
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 TemplateNodeCreator< TemplateNodeSet >
static TemplateNodePtr createInstance (TemplateParser *parser, TemplateNode *parent, int line, const QCString &data)
 
- Protected 成员函数 继承自 TemplateNodeCreator< TemplateNodeSet >
void mkpath (const TemplateContextImpl *ci, const std::string &fileName)
 
- Protected 属性 继承自 TemplateNodeCreator< TemplateNodeSet >
QCString m_templateName
 
int m_line
 

详细描述

Class representing an 'set' tag in a template

在文件 template.cpp4322 行定义.

构造及析构函数说明

◆ TemplateNodeSet()

TemplateNodeSet::TemplateNodeSet ( TemplateParser parser,
TemplateNode parent,
int  line,
const QCString data 
)
inline

在文件 template.cpp4331 行定义.

4333  {
4334  TRACE(("{TemplateNodeSet(%s)\n",qPrint(data)));
4335  ExpressionParser expParser(parser,line);
4336  // data format: name=expression
4337  int j=data.find('=');
4338  ExprAstPtr expr = 0;
4339  if (j>0 && (expr = expParser.parse(data.mid(j+1))))
4340  {
4341  m_mapping = std::make_unique<Mapping>(data.left(j),std::move(expr));
4342  }
4343  TRACE(("}TemplateNodeSet(%s)\n",qPrint(data)));
4344  }

引用了 QCString::find(), QCString::left(), m_mapping, QCString::mid(), ExpressionParser::parse(), qPrint() , 以及 TRACE.

◆ ~TemplateNodeSet()

TemplateNodeSet::~TemplateNodeSet ( )
inline

在文件 template.cpp4345 行定义.

4346  {
4347  }

成员函数说明

◆ render()

void TemplateNodeSet::render ( TextStream ,
TemplateContext c 
)
inlinevirtual

实现了 TemplateNode.

在文件 template.cpp4348 行定义.

4349  {
4350  TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c);
4351  if (ci==0) return; // should not happen
4353  if (m_mapping)
4354  {
4355  TemplateVariant value = m_mapping->value->resolve(c);
4356  ci->set(m_mapping->name,value);
4357  }
4358  }

引用了 TemplateNodeCreator< TemplateNodeSet >::m_line, m_mapping, TemplateNodeCreator< TemplateNodeSet >::m_templateName, TemplateContextImpl::set() , 以及 TemplateContextImpl::setLocation().

类成员变量说明

◆ m_mapping

std::unique_ptr<Mapping> TemplateNodeSet::m_mapping
private

在文件 template.cpp4360 行定义.

被这些函数引用 render() , 以及 TemplateNodeSet().


该类的文档由以下文件生成:
TemplateContextImpl::setLocation
void setLocation(const QCString &templateName, int line)
Definition: template.cpp:682
TemplateNodeCreator< TemplateNodeSet >
TemplateNodeSet::m_mapping
std::unique_ptr< Mapping > m_mapping
Definition: template.cpp:4360
QCString::find
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:38
ExpressionParser
Recursive decent parser for Django style template expressions.
Definition: template.cpp:2010
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
QCString::left
QCString left(size_t len) const
Definition: qcstring.h:212
TRACE
#define TRACE(x)
Definition: template.cpp:40
TemplateNodeCreator< TemplateNodeSet >::m_templateName
QCString m_templateName
Definition: template.cpp:3095
TemplateNode::parent
TemplateNode * parent()
Definition: template.cpp:1941
ExprAstPtr
std::unique_ptr< ExprAst > ExprAstPtr
Definition: template.cpp:1670
QCString::mid
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
Definition: qcstring.h:224
TemplateContextImpl::set
void set(const QCString &name, const TemplateVariant &v)
Sets a value in the current scope.
Definition: template.cpp:2632
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
TemplateContextImpl
Internal class representing the implementation of a template context
Definition: template.cpp:640
TemplateNodeCreator< TemplateNodeSet >::m_line
int m_line
Definition: template.cpp:3096