Doxygen
TemplateBlockContext类 参考

Class holding stacks of blocks available in the context 更多...

Public 类型

using NodeBlockList = std::deque< TemplateNodeBlock * >
 

Public 成员函数

 TemplateBlockContext ()
 
TemplateNodeBlockget (const QCString &name) const
 
TemplateNodeBlockpop (const QCString &name)
 
void add (TemplateNodeBlock *block)
 
void add (TemplateBlockContext *ctx)
 
void push (TemplateNodeBlock *block)
 
void clear ()
 

Private 属性

std::map< std::string, NodeBlockListm_blocks
 

详细描述

Class holding stacks of blocks available in the context

在文件 template.cpp614 行定义.

成员类型定义说明

◆ NodeBlockList

在文件 template.cpp624 行定义.

构造及析构函数说明

◆ TemplateBlockContext()

TemplateBlockContext::TemplateBlockContext ( )

在文件 template.cpp4733 行定义.

4734 {
4735 }

成员函数说明

◆ add() [1/2]

void TemplateBlockContext::add ( TemplateBlockContext ctx)

在文件 template.cpp4775 行定义.

4776 {
4777  for (auto &kv : ctx->m_blocks)
4778  {
4779  for (auto &nb : kv.second)
4780  {
4781  add(nb);
4782  }
4783  }
4784 }

引用了 add() , 以及 m_blocks.

◆ add() [2/2]

void TemplateBlockContext::add ( TemplateNodeBlock block)

在文件 template.cpp4765 行定义.

4766 {
4767  auto it = m_blocks.find(block->name().str());
4768  if (it==m_blocks.end())
4769  {
4770  it = m_blocks.insert(std::make_pair(block->name().str(),NodeBlockList())).first;
4771  }
4772  it->second.push_front(block);
4773 }

引用了 m_blocks, TemplateNodeBlock::name() , 以及 QCString::str().

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

◆ clear()

void TemplateBlockContext::clear ( )

在文件 template.cpp4786 行定义.

4787 {
4788  m_blocks.clear();
4789 }

引用了 m_blocks.

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

◆ get()

TemplateNodeBlock * TemplateBlockContext::get ( const QCString name) const

在文件 template.cpp4737 行定义.

4738 {
4739  auto it = m_blocks.find(name.str());
4740  if (it==m_blocks.end() || it->second.empty())
4741  {
4742  return 0;
4743  }
4744  else
4745  {
4746  return it->second.back();
4747  }
4748 }

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

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

◆ pop()

TemplateNodeBlock * TemplateBlockContext::pop ( const QCString name)

在文件 template.cpp4750 行定义.

4751 {
4752  auto it = m_blocks.find(name.str());
4753  if (it==m_blocks.end() || it->second.empty())
4754  {
4755  return 0;
4756  }
4757  else
4758  {
4759  TemplateNodeBlock *bld = it->second.back();
4760  it->second.pop_back();
4761  return bld;
4762  }
4763 }

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

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

◆ push()

void TemplateBlockContext::push ( TemplateNodeBlock block)

在文件 template.cpp4791 行定义.

4792 {
4793  auto it = m_blocks.find(block->name().str());
4794  if (it==m_blocks.end())
4795  {
4796  it = m_blocks.insert(std::make_pair(block->name().str(),NodeBlockList())).first;
4797  }
4798  it->second.push_back(block);
4799 }

引用了 m_blocks, TemplateNodeBlock::name() , 以及 QCString::str().

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

类成员变量说明

◆ m_blocks

std::map< std::string, NodeBlockList > TemplateBlockContext::m_blocks
private

在文件 template.cpp626 行定义.

被这些函数引用 add(), clear(), get(), pop() , 以及 push().


该类的文档由以下文件生成:
Rtf_Style_Default::name
const char * name
Definition: rtfstyle.h:40
TemplateNodeBlock
Class representing a 'block' tag in a template
Definition: template.cpp:3600
QCString::str
std::string str() const
Definition: qcstring.h:442
TemplateBlockContext::add
void add(TemplateNodeBlock *block)
Definition: template.cpp:4765
TemplateBlockContext::NodeBlockList
std::deque< TemplateNodeBlock * > NodeBlockList
Definition: template.cpp:624
TemplateNodeBlock::name
QCString name() const
Definition: template.cpp:3664
TemplateBlockContext::m_blocks
std::map< std::string, NodeBlockList > m_blocks
Definition: template.cpp:626