Doxygen
TemplateEngine类 参考

Engine to create templates and template contexts. 更多...

#include <template.h>

class  Private
 Private data of the template engine 更多...
 

Public 成员函数

 TemplateEngine ()
 Create a template engine. 更多...
 
 ~TemplateEngine ()
 Destroys the template engine. 更多...
 
std::unique_ptr< TemplateContextcreateContext () const
 Creates a new context that can be using to render a template. 更多...
 
TemplateloadByName (const QCString &fileName, int fromLine)
 Creates a new template whose contents are in a file. 更多...
 
void unload (Template *t)
 Indicates that template t is no longer needed. 更多...
 
void printIncludeContext (const QCString &fileName, int line) const
 Prints the current template file include stack 更多...
 
void setTemplateDir (const QCString &dirName)
 Sets the search directory where to look for template files 更多...
 

Private 成员函数

void enterBlock (const QCString &fileName, const QCString &blockName, int line)
 
void leaveBlock ()
 
void setOutputExtension (const QCString &extension)
 Sets the extension of the output file. 更多...
 
QCString outputExtension () const
 Returns the output extension, set via setOutputExtension() 更多...
 

Private 属性

std::unique_ptr< Privatep
 

友元

class TemplateNodeBlock
 
class TemplateNodeCreate
 

详细描述

Engine to create templates and template contexts.

在文件 template.h492 行定义.

构造及析构函数说明

◆ TemplateEngine()

TemplateEngine::TemplateEngine ( )

Create a template engine.

在文件 template.cpp5368 行定义.

5368  : p(std::make_unique<Private>(this))
5369 {
5370 }

◆ ~TemplateEngine()

TemplateEngine::~TemplateEngine ( )

Destroys the template engine.

在文件 template.cpp5372 行定义.

5373 {
5374 }

成员函数说明

◆ createContext()

std::unique_ptr< TemplateContext > TemplateEngine::createContext ( ) const

Creates a new context that can be using to render a template.

参见
Template::render()

在文件 template.cpp5376 行定义.

5377 {
5378  return std::make_unique<TemplateContextImpl>(this);
5379 }

◆ enterBlock()

void TemplateEngine::enterBlock ( const QCString fileName,
const QCString blockName,
int  line 
)
private

在文件 template.cpp5391 行定义.

5392 {
5393  p->enterBlock(fileName,blockName,line);
5394 }

引用了 p.

被这些函数引用 TemplateNodeBlock::render().

◆ leaveBlock()

void TemplateEngine::leaveBlock ( )
private

在文件 template.cpp5396 行定义.

5397 {
5398  p->leaveBlock();
5399 }

引用了 p.

被这些函数引用 TemplateNodeBlock::render().

◆ loadByName()

Template * TemplateEngine::loadByName ( const QCString fileName,
int  fromLine 
)

Creates a new template whose contents are in a file.

参数
[in]fileNameThe name of the file containing the template data
[in]fromLineThe line number of the statement that triggered the load
返回
the new template, the engine will keep ownership of the object.

在文件 template.cpp5381 行定义.

5382 {
5383  return p->loadByName(fileName,line);
5384 }

引用了 p.

被这些函数引用 TemplateNodeExtend::render(), TemplateNodeInclude::render() , 以及 TemplateNodeCreate::render().

◆ outputExtension()

QCString TemplateEngine::outputExtension ( ) const
private

Returns the output extension, set via setOutputExtension()

在文件 template.cpp5411 行定义.

5412 {
5413  return p->outputExtension();
5414 }

引用了 p.

◆ printIncludeContext()

void TemplateEngine::printIncludeContext ( const QCString fileName,
int  line 
) const

Prints the current template file include stack

在文件 template.cpp5401 行定义.

5402 {
5403  p->printIncludeContext(fileName,line);
5404 }

引用了 p.

被这些函数引用 TemplateLexer::tokenize(), TemplateContextImpl::warn() , 以及 TemplateParser::warn().

◆ setOutputExtension()

void TemplateEngine::setOutputExtension ( const QCString extension)
private

Sets the extension of the output file.

This is used to control the format of 'special' tags in the template

在文件 template.cpp5406 行定义.

5407 {
5408  p->setOutputExtension(extension);
5409 }

引用了 p.

被这些函数引用 TemplateNodeCreate::render().

◆ setTemplateDir()

void TemplateEngine::setTemplateDir ( const QCString dirName)

Sets the search directory where to look for template files

在文件 template.cpp5416 行定义.

5417 {
5418  p->setTemplateDir(dirName);
5419 }

引用了 p.

◆ unload()

void TemplateEngine::unload ( Template t)

Indicates that template t is no longer needed.

The engine may decide to delete it.

在文件 template.cpp5386 行定义.

5387 {
5388  p->unload(t);
5389 }

引用了 p.

被这些函数引用 TemplateNodeExtend::render(), TemplateNodeInclude::render() , 以及 TemplateNodeCreate::render().

友元及相关函数文档

◆ TemplateNodeBlock

friend class TemplateNodeBlock
friend

在文件 template.h525 行定义.

◆ TemplateNodeCreate

friend class TemplateNodeCreate
friend

在文件 template.h526 行定义.

类成员变量说明

◆ p

std::unique_ptr<Private> TemplateEngine::p
private

该类的文档由以下文件生成:
TemplateEngine::p
std::unique_ptr< Private > p
Definition: template.h:539