Doxygen
TemplateImmutableStruct类 参考

Default implementation of an immutable context value of type struct. 更多...

#include <template.h>

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

class  Private
 Private data of a template struct object 更多...
 

Public 类型

using StructField = std::pair< const std::string, TemplateVariant >
 

Public 成员函数

virtual TemplateVariant get (const QCString &name) const
 Gets the value for a field name. 更多...
 
virtual StringVector fields () const
 Return the list of fields. 更多...
 
 TemplateImmutableStruct (std::initializer_list< StructField > fields)
 Creates a struct 更多...
 
virtual ~TemplateImmutableStruct ()
 Destroys the struct 更多...
 
- Public 成员函数 继承自 TemplateStructIntf
virtual ~TemplateStructIntf ()
 Destroys the struct 更多...
 

静态 Public 成员函数

static TemplateStructIntfPtr alloc (std::initializer_list< StructField > fields)
 Creates an instance and returns a shared pointer to it 更多...
 

Private 属性

std::unique_ptr< Privatep
 

详细描述

Default implementation of an immutable context value of type struct.

在文件 template.h355 行定义.

成员类型定义说明

◆ StructField

using TemplateImmutableStruct::StructField = std::pair<const std::string,TemplateVariant>

在文件 template.h362 行定义.

构造及析构函数说明

◆ TemplateImmutableStruct()

TemplateImmutableStruct::TemplateImmutableStruct ( std::initializer_list< StructField fields)

Creates a struct

在文件 template.cpp470 行定义.

472  : p(std::make_unique<Private>(fields))
473 {
474 }

◆ ~TemplateImmutableStruct()

TemplateImmutableStruct::~TemplateImmutableStruct ( )
virtual

Destroys the struct

在文件 template.cpp476 行定义.

477 {
478 }

成员函数说明

◆ alloc()

TemplateStructIntfPtr TemplateImmutableStruct::alloc ( std::initializer_list< StructField fields)
static

Creates an instance and returns a shared pointer to it

参数
fieldsthe fields of the struct as key/value pairs.

在文件 template.cpp497 行定义.

498 {
499  return std::make_shared<TemplateImmutableStruct>(fields);
500 }

引用了 fields().

被这些函数引用 ClassContext::Private::createExamples(), MemberContext::Private::createExamples() , 以及 DefinitionContext< FileContext::Private >::DefinitionContext().

◆ fields()

StringVector TemplateImmutableStruct::fields ( ) const
virtual

Return the list of fields.

实现了 TemplateStructIntf.

在文件 template.cpp486 行定义.

487 {
488  StringVector result;
489  for (const auto &kv : p->fields)
490  {
491  result.push_back(kv.first);
492  }
493  std::sort(result.begin(),result.end());
494  return result;
495 }

引用了 p.

被这些函数引用 alloc().

◆ get()

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

Gets the value for a field name.

参数
[in]nameThe name of the field.

实现了 TemplateStructIntf.

在文件 template.cpp480 行定义.

481 {
482  auto it = p->fields.find(name.str());
483  return it!=p->fields.end() ? it->second : TemplateVariant();
484 }

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

类成员变量说明

◆ p

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

在文件 template.h376 行定义.

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


该类的文档由以下文件生成:
StringVector
std::vector< std::string > StringVector
Definition: containers.h:32
Rtf_Style_Default::name
const char * name
Definition: rtfstyle.h:40
TemplateImmutableStruct::p
std::unique_ptr< Private > p
Definition: template.h:376
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
TemplateImmutableStruct::fields
virtual StringVector fields() const
Return the list of fields.
Definition: template.cpp:486