Doxygen
TemplateNodeSpaceless类 参考

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

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

Public 成员函数

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

Private 属性

TemplateNodeList m_nodes
 

额外继承的成员函数

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

详细描述

Class representing an 'spaceless' tag in a template

在文件 template.cpp4366 行定义.

构造及析构函数说明

◆ TemplateNodeSpaceless()

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

在文件 template.cpp4369 行定义.

4371  {
4372  TRACE(("{TemplateNodeSpaceless()\n"));
4373  StringVector stopAt = { "endspaceless" };
4374  parser->parse(this,line,stopAt,m_nodes);
4375  parser->removeNextToken(); // skip over endwith
4376  TRACE(("}TemplateNodeSpaceless()\n"));
4377  }

引用了 m_nodes, TemplateParser::parse(), TemplateParser::removeNextToken() , 以及 TRACE.

成员函数说明

◆ render()

void TemplateNodeSpaceless::render ( TextStream ts,
TemplateContext c 
)
inlinevirtual

实现了 TemplateNode.

在文件 template.cpp4378 行定义.

4379  {
4380  TemplateContextImpl *ci = dynamic_cast<TemplateContextImpl*>(c);
4381  if (ci==0) return; // should not happen
4383  bool wasSpaceless = ci->spacelessEnabled();
4384  ci->enableSpaceless(TRUE);
4385  m_nodes.render(ts,c);
4386  ci->enableSpaceless(wasSpaceless);
4387  }

引用了 TemplateContextImpl::enableSpaceless(), TemplateNodeCreator< TemplateNodeSpaceless >::m_line, m_nodes, TemplateNodeCreator< TemplateNodeSpaceless >::m_templateName, TemplateNodeList::render(), TemplateContextImpl::setLocation(), TemplateContextImpl::spacelessEnabled() , 以及 TRUE.

类成员变量说明

◆ m_nodes

TemplateNodeList TemplateNodeSpaceless::m_nodes
private

在文件 template.cpp4389 行定义.

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


该类的文档由以下文件生成:
StringVector
std::vector< std::string > StringVector
Definition: containers.h:32
TemplateContextImpl::setLocation
void setLocation(const QCString &templateName, int line)
Definition: template.cpp:682
TemplateNodeCreator< TemplateNodeSpaceless >
TemplateParser::removeNextToken
void removeNextToken()
Definition: template.cpp:5153
TemplateNodeSpaceless::m_nodes
TemplateNodeList m_nodes
Definition: template.cpp:4389
TRACE
#define TRACE(x)
Definition: template.cpp:40
TemplateContextImpl::enableSpaceless
void enableSpaceless(bool b)
Definition: template.cpp:689
TRUE
#define TRUE
Definition: qcstring.h:36
TemplateNodeList::render
void render(TextStream &ts, TemplateContext *c)
Definition: template.cpp:1971
TemplateNodeCreator< TemplateNodeSpaceless >::m_templateName
QCString m_templateName
Definition: template.cpp:3095
TemplateNode::parent
TemplateNode * parent()
Definition: template.cpp:1941
TemplateParser::parse
void parse(TemplateNode *parent, int line, const StringVector &stopAt, TemplateNodeList &nodes)
Definition: template.cpp:5057
TemplateContextImpl
Internal class representing the implementation of a template context
Definition: template.cpp:640
TemplateNodeCreator< TemplateNodeSpaceless >::m_line
int m_line
Definition: template.cpp:3096
TemplateContextImpl::spacelessEnabled
bool spacelessEnabled() const
Definition: template.cpp:692