Doxygen
TemplateStruct类 参考

Default implementation of a context value of type struct. 更多...

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

Public 成员函数

virtual TemplateVariant get (const QCString &name) const
 Gets the value for a field name. 更多...
 
virtual StringVector fields () const
 Return the list of fields. 更多...
 
virtual void set (const QCString &name, const TemplateVariant &v)
 Sets the value the field of a struct 更多...
 
virtual void remove (const QCString &name)
 Removes the field from the struct 更多...
 
 TemplateStruct ()=default
 Creates a struct 更多...
 
virtual ~TemplateStruct ()=default
 Destroys the struct 更多...
 
- Public 成员函数 继承自 TemplateStructIntf
virtual ~TemplateStructIntf ()
 Destroys the struct 更多...
 

静态 Public 成员函数

static TemplateStructPtr alloc ()
 Creates an instance and returns a shared pointer to it 更多...
 

Private 属性

std::unordered_map< std::string, TemplateVariantm_fields
 

详细描述

Default implementation of a context value of type struct.

在文件 template.cpp150 行定义.

构造及析构函数说明

◆ TemplateStruct()

TemplateStruct::TemplateStruct ( )
default

Creates a struct

◆ ~TemplateStruct()

virtual TemplateStruct::~TemplateStruct ( )
virtualdefault

Destroys the struct

成员函数说明

◆ alloc()

TemplateStructPtr TemplateStruct::alloc ( )
static

Creates an instance and returns a shared pointer to it

在文件 template.cpp218 行定义.

219 {
220  return std::make_shared<TemplateStruct>();
221 }

被这些函数引用 TemplateContextImpl::addIndexEntry(), FilterAlphaIndex::apply(), TemplateNodeRepeat::render(), TemplateNodeRange::render(), TemplateNodeFor::render(), TemplateNodeBlock::render() , 以及 TemplateNodeMarkers::render().

◆ fields()

StringVector TemplateStruct::fields ( ) const
virtual

Return the list of fields.

实现了 TemplateStructIntf.

在文件 template.cpp207 行定义.

208 {
209  StringVector result;
210  for (const auto &kv : m_fields)
211  {
212  result.push_back(kv.first);
213  }
214  std::sort(result.begin(),result.end());
215  return result;
216 }

引用了 m_fields.

◆ get()

TemplateVariant TemplateStruct::get ( const QCString name) const
virtual

Gets the value for a field name.

参数
[in]nameThe name of the field.

实现了 TemplateStructIntf.

在文件 template.cpp201 行定义.

202 {
203  auto it = m_fields.find(name.str());
204  return it!=m_fields.end() ? it->second : TemplateVariant();
205 }

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

◆ remove()

void TemplateStruct::remove ( const QCString name)
virtual

Removes the field from the struct

在文件 template.cpp192 行定义.

193 {
194  auto it = m_fields.find(name.str());
195  if (it!=m_fields.end())
196  {
197  m_fields.erase(it);
198  }
199 }

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

◆ set()

void TemplateStruct::set ( const QCString name,
const TemplateVariant v 
)
virtual

Sets the value the field of a struct

参数
[in]nameThe name of the field.
[in]vThe value to set.

在文件 template.cpp179 行定义.

180 {
181  auto it = m_fields.find(name.str());
182  if (it!=m_fields.end()) // change existing field
183  {
184  it->second = v;
185  }
186  else // insert new field
187  {
188  m_fields.insert(std::make_pair(name.str(),v));
189  }
190 }

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

类成员变量说明

◆ m_fields

std::unordered_map<std::string,TemplateVariant> TemplateStruct::m_fields
private

在文件 template.cpp176 行定义.

被这些函数引用 fields(), get(), remove() , 以及 set().


该类的文档由以下文件生成:
StringVector
std::vector< std::string > StringVector
Definition: containers.h:32
Rtf_Style_Default::name
const char * name
Definition: rtfstyle.h:40
TemplateStruct::m_fields
std::unordered_map< std::string, TemplateVariant > m_fields
Definition: template.cpp:176
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98