Doxygen
template.cpp 文件参考
#include "template.h"
#include <vector>
#include <algorithm>
#include <unordered_map>
#include <deque>
#include <cstdio>
#include <fstream>
#include <sstream>
#include "message.h"
#include "util.h"
#include "resourcemgr.h"
#include "portable.h"
#include "regex.h"
#include "fileinfo.h"
#include "dir.h"
#include "utf8.h"
+ template.cpp 的引用(Include)关系图:

浏览源代码.

class  TemplateStruct
 Default implementation of a context value of type struct. 更多...
 
class  TemplateListGenericConstIterator< List >
 
class  TemplateList
 Default implementation of a context value of type list. 更多...
 
class  TemplateImmutableStruct::Private
 Private data of a template struct object 更多...
 
class  TemplateImmutableList::Private
 Private data of a template immutable list object 更多...
 
class  Operator
 Class representing operators that can appear in template expressions 更多...
 
class  TemplateBlockContext
 Class holding stacks of blocks available in the context 更多...
 
struct  TemplateKeyValue
 A container to store a key-value pair 更多...
 
class  TemplateContextImpl
 Internal class representing the implementation of a template context 更多...
 
class  FilterAdd
 The implementation of the "add" filter 更多...
 
class  FilterGet
 The implementation of the "get" filter 更多...
 
class  FilterRaw
 The implementation of the "raw" filter 更多...
 
class  FilterKeep
 The implementation of the "keep" filter 更多...
 
class  FilterList
 The implementation of the "list" filter 更多...
 
class  FilterTexLabel
 The implementation of the "texlabel" filter 更多...
 
class  FilterTexIndex
 The implementation of the "texindex" filter 更多...
 
class  FilterAppend
 The implementation of the "append" filter 更多...
 
class  FilterPrepend
 The implementation of the "prepend" filter 更多...
 
class  FilterLength
 The implementation of the "length" filter 更多...
 
class  FilterDefault
 The implementation of the "default" filter 更多...
 
class  FilterFlatten
 The implementation of the "flatten" filter 更多...
 
class  FilterListSort
 The implementation of the "listsort" filter 更多...
 
struct  FilterListSort::ListElem
 
class  FilterGroupBy
 The implementation of the "groupBy" filter 更多...
 
struct  FilterGroupBy::ListElem
 
class  FilterRelative
 The implementation of the "relative" filter 更多...
 
class  FilterPaginate
 The implementation of the "paginate" filter 更多...
 
class  FilterAlphaIndex
 The implementation of the "alphaIndex" filter 更多...
 
struct  FilterAlphaIndex::ListElem
 
class  FilterStripPath
 The implementation of the "default" filter 更多...
 
class  FilterNoWrap
 The implementation of the "default" filter 更多...
 
class  FilterDivisibleBy
 The implementation of the "divisibleby" filter 更多...
 
class  FilterIsRelativeURL
 The implementation of the "isRelativeURL" filter 更多...
 
class  FilterIsAbsoluteURL
 The implementation of the "isRelativeURL" filter 更多...
 
class  FilterLower
 The implementation of the "lower" filter 更多...
 
class  FilterUpper
 The implementation of the "upper" filter 更多...
 
class  FilterHex
 The implementation of the "upper" filter 更多...
 
class  FilterEscape
 The implementation of the "e" filter 更多...
 
class  FilterDecodeURL
 The implementation of the "decodeURL" filter The leading character is removed from the value in case it is a ^ or !. 更多...
 
class  TemplateFilterFactory
 Factory singleton for registering and creating filters 更多...
 
class  TemplateFilterFactory::AutoRegister< T >
 Helper class for registering a filter function 更多...
 
class  ExprAst
 Base class for all nodes in the abstract syntax tree of an expression. 更多...
 
class  ExprAstNumber
 Class representing a number in the AST 更多...
 
class  ExprAstVariable
 Class representing a variable in the AST 更多...
 
class  ExprAstFunctionVariable
 
class  ExprAstFilter
 Class representing a filter in the AST 更多...
 
class  ExprAstFilterAppl
 Class representing a filter applied to an expression in the AST 更多...
 
class  ExprAstLiteral
 Class representing a string literal in the AST 更多...
 
class  ExprAstNegate
 Class representing a negation (not) operator in the AST 更多...
 
class  ExprAstUnary
 
class  ExprAstBinary
 Class representing a binary operator in the AST 更多...
 
class  TemplateNode
 Base class of all nodes in a template's AST 更多...
 
class  TemplateToken
 Class representing a lexical token in a template 更多...
 
class  TemplateNodeList
 Class representing a list of AST nodes in a template 更多...
 
class  TemplateParser
 Parser for templates 更多...
 
class  ExpressionParser
 Recursive decent parser for Django style template expressions. 更多...
 
class  ExpressionParser::ExprToken
 Class representing a token within an expression. 更多...
 
class  TemplateImpl
 Internal class representing the implementation of a template 更多...
 
class  TemplateNodeText
 Class representing a piece of plain text in a template 更多...
 
class  TemplateNodeVariable
 Class representing a variable in a template 更多...
 
class  TemplateNodeCreator< T >
 Helper class for creating template AST tag nodes and returning the template for a given node. 更多...
 
class  TemplateNodeIf
 Class representing an 'if' tag in a template 更多...
 
struct  TemplateNodeIf::GuardedNodes
 
class  TemplateNodeRepeat
 Class representing a 'for' tag in a template 更多...
 
class  TemplateNodeRange
 Class representing a 'range' tag in a template 更多...
 
class  TemplateNodeFor
 Class representing a 'for' tag in a template 更多...
 
class  TemplateNodeMsg
 Class representing an 'markers' tag in a template 更多...
 
class  TemplateNodeBlock
 Class representing a 'block' tag in a template 更多...
 
class  TemplateNodeExtend
 Class representing a 'extend' tag in a template 更多...
 
class  TemplateNodeInclude
 Class representing an 'include' tag in a template 更多...
 
class  TemplateNodeCreate
 Class representing an 'create' tag in a template 更多...
 
class  TemplateNodeTree
 Class representing an 'tree' tag in a template 更多...
 
struct  TemplateNodeTree::TreeContext
 
class  TemplateNodeIndexEntry
 Class representing an 'indexentry' tag in a template 更多...
 
struct  TemplateNodeIndexEntry::Mapping
 
class  TemplateNodeOpenSubIndex
 Class representing an 'opensubindex' tag in a template 更多...
 
class  TemplateNodeCloseSubIndex
 Class representing an 'closesubindex' tag in a template 更多...
 
class  TemplateNodeWith
 Class representing an 'with' tag in a template 更多...
 
struct  TemplateNodeWith::Mapping
 
class  TemplateNodeCycle
 Class representing an 'cycle' tag in a template 更多...
 
class  TemplateNodeSet
 Class representing an 'set' tag in a template 更多...
 
struct  TemplateNodeSet::Mapping
 
class  TemplateNodeSpaceless
 Class representing an 'spaceless' tag in a template 更多...
 
class  TemplateNodeMarkers
 Class representing an 'markers' tag in a template 更多...
 
class  TemplateNodeTabbing
 Class representing an 'tabbing' tag in a template 更多...
 
class  TemplateNodeResource
 Class representing an 'markers' tag in a template 更多...
 
class  TemplateNodeEncoding
 Class representing the 'encoding' tag in a template 更多...
 
class  TemplateNodeFactory
 Factory class for creating tag AST nodes found in a template 更多...
 
class  TemplateNodeFactory::AutoRegister< T >
 Helper class for registering a template AST node 更多...
 
class  TemplateLexer
 Lexer class for turning a template into a list of tokens 更多...
 
class  TemplateEngine::Private
 Private data of the template engine 更多...
 
class  TemplateEngine::Private::IncludeEntry
 

宏定义

#define ENABLE_TRACING   0
 
#define TRACE(x)
 

类型定义

using TemplateStructPtr = std::shared_ptr< TemplateStruct >
 
using TemplateListPtr = std::shared_ptr< TemplateList >
 
using ExprAstPtr = std::unique_ptr< ExprAst >
 
using ExprAstList = std::vector< ExprAstPtr >
 
using ExprAstFilterPtr = std::unique_ptr< ExprAstFilter >
 
using TemplateNodePtr = std::unique_ptr< TemplateNode >
 
using TemplateTokenPtr = std::unique_ptr< TemplateToken >
 
using TemplateTokenStream = std::deque< TemplateTokenPtr >
 

函数

static std::vector< QCStringsplit (const QCString &str, const QCString &sep, bool allowEmptyEntries=FALSE, bool cleanup=TRUE)
 
static void removeSpacesAroundEquals (QCString &s)
 Strips spaces surrounding = from string in, so ‘foo = 10 bar=5 baz= 'hello’will becomefoo=10 bar=5 baz='hello'` 更多...
 
static void getPathListFunc (const TemplateStructIntfPtr entry, TemplateListPtr list)
 
static TemplateVariant getPathFunc (const TemplateStructIntfWeakPtr entryWeakRef)
 
static void stripLeadingWhiteSpace (QCString &s)
 

变量

static TemplateFilterFactory::AutoRegister< FilterAddfAdd ("add")
 
static TemplateFilterFactory::AutoRegister< FilterGetfGet ("get")
 
static TemplateFilterFactory::AutoRegister< FilterHexfHex ("hex")
 
static TemplateFilterFactory::AutoRegister< FilterRawfRaw ("raw")
 
static TemplateFilterFactory::AutoRegister< FilterKeepfKeep ("keep")
 
static TemplateFilterFactory::AutoRegister< FilterListfList ("list")
 
static TemplateFilterFactory::AutoRegister< FilterLowerfLower ("lower")
 
static TemplateFilterFactory::AutoRegister< FilterUpperfUpper ("upper")
 
static TemplateFilterFactory::AutoRegister< FilterAppendfAppend ("append")
 
static TemplateFilterFactory::AutoRegister< FilterEscapefEscape ("escape")
 
static TemplateFilterFactory::AutoRegister< FilterLengthfLength ("length")
 
static TemplateFilterFactory::AutoRegister< FilterNoWrapfNoWrap ("nowrap")
 
static TemplateFilterFactory::AutoRegister< FilterFlattenfFlatten ("flatten")
 
static TemplateFilterFactory::AutoRegister< FilterDefaultfDefault ("default")
 
static TemplateFilterFactory::AutoRegister< FilterPrependfPrepend ("prepend")
 
static TemplateFilterFactory::AutoRegister< FilterGroupByfGroupBy ("groupBy")
 
static TemplateFilterFactory::AutoRegister< FilterRelativefRelative ("relative")
 
static TemplateFilterFactory::AutoRegister< FilterListSortfListSort ("listsort")
 
static TemplateFilterFactory::AutoRegister< FilterTexLabelfTexLabel ("texLabel")
 
static TemplateFilterFactory::AutoRegister< FilterTexIndexfTexIndex ("texIndex")
 
static TemplateFilterFactory::AutoRegister< FilterPaginatefPaginate ("paginate")
 
static TemplateFilterFactory::AutoRegister< FilterStripPathfStripPath ("stripPath")
 
static TemplateFilterFactory::AutoRegister< FilterDecodeURLfDecodeURL ("decodeURL")
 
static TemplateFilterFactory::AutoRegister< FilterAlphaIndexfAlphaIndex ("alphaIndex")
 
static TemplateFilterFactory::AutoRegister< FilterDivisibleByfDivisibleBy ("divisibleby")
 
static TemplateFilterFactory::AutoRegister< FilterIsRelativeURLfIsRelativeURL ("isRelativeURL")
 
static TemplateFilterFactory::AutoRegister< FilterIsAbsoluteURLfIsAbsoluteURL ("isAbsoluteURL")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeIfautoRefIf ("if")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeForautoRefFor ("for")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeMsgautoRefMsg ("msg")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeSetautoRefSet ("set")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeTreeautoRefTree ("recursetree")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeWithautoRefWith ("with")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeBlockautoRefBlock ("block")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeCycleautoRefCycle ("cycle")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeRangeautoRefRange ("range")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeExtendautoRefExtend ("extend")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeCreateautoRefCreate ("create")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeRepeatautoRefRepeat ("repeat")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeIncludeautoRefInclude ("include")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeMarkersautoRefMarkers ("markers")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeTabbingautoRefTabbing ("tabbing")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeResourceautoRefResource ("resource")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeEncodingautoRefEncoding ("encoding")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeSpacelessautoRefSpaceless ("spaceless")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeIndexEntryautoRefIndexEntry ("indexentry")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeOpenSubIndexautoRefOpenSubIndex ("opensubindex")
 
static TemplateNodeFactory::AutoRegister< TemplateNodeCloseSubIndexautoRefCloseSubIndex ("closesubindex")
 

宏定义说明

◆ ENABLE_TRACING

#define ENABLE_TRACING   0

在文件 template.cpp35 行定义.

◆ TRACE

#define TRACE (   x)

在文件 template.cpp40 行定义.

类型定义说明

◆ ExprAstFilterPtr

using ExprAstFilterPtr = std::unique_ptr<ExprAstFilter>

在文件 template.cpp1760 行定义.

◆ ExprAstList

using ExprAstList = std::vector< ExprAstPtr >

在文件 template.cpp1671 行定义.

◆ ExprAstPtr

using ExprAstPtr = std::unique_ptr<ExprAst>

在文件 template.cpp1670 行定义.

◆ TemplateListPtr

using TemplateListPtr = std::shared_ptr<TemplateList>

在文件 template.cpp224 行定义.

◆ TemplateNodePtr

using TemplateNodePtr = std::unique_ptr<TemplateNode>

在文件 template.cpp1947 行定义.

◆ TemplateStructPtr

using TemplateStructPtr = std::shared_ptr<TemplateStruct>

在文件 template.cpp147 行定义.

◆ TemplateTokenPtr

using TemplateTokenPtr = std::unique_ptr<TemplateToken>

在文件 template.cpp1962 行定义.

◆ TemplateTokenStream

using TemplateTokenStream = std::deque< TemplateTokenPtr >

在文件 template.cpp1963 行定义.

函数说明

◆ getPathFunc()

static TemplateVariant getPathFunc ( const TemplateStructIntfWeakPtr  entryWeakRef)
static

在文件 template.cpp2846 行定义.

2847 {
2849  getPathListFunc(entryWeakRef.lock(),result);
2850  return std::static_pointer_cast<TemplateListIntf>(result);
2851 }

引用了 TemplateList::alloc() , 以及 getPathListFunc().

被这些函数引用 TemplateContextImpl::addIndexEntry().

◆ getPathListFunc()

static void getPathListFunc ( const TemplateStructIntfPtr  entry,
TemplateListPtr  list 
)
static

在文件 template.cpp2833 行定义.

2834 {
2835  if (entry)
2836  {
2837  TemplateVariant parent = entry->get("parent");
2838  if (parent.isStruct() || parent.isWeakStruct())
2839  {
2840  getPathListFunc(parent.toStruct(),list);
2841  }
2842  list->append(entry);
2843  }
2844 }

引用了 TemplateVariant::isStruct(), TemplateVariant::isWeakStruct() , 以及 TemplateVariant::toStruct().

被这些函数引用 getPathFunc().

◆ removeSpacesAroundEquals()

static void removeSpacesAroundEquals ( QCString s)
static

Strips spaces surrounding = from string in, so ‘foo = 10 bar=5 baz= 'hello’will becomefoo=10 bar=5 baz='hello'`

在文件 template.cpp101 行定义.

102 {
103  //printf(">removeSpacesAroundEquals(%s)\n",qPrint(s));
104  uint i=0, dstIdx=0, l=s.length();
105  while (i<l)
106  {
107  char c = s[i++];
108  if (c==' ')
109  {
110  bool found=false;
111  // look ahead for space or '='
112  uint j=i;
113  while (j<l && (s[j]==' '|| s[j]=='='))
114  {
115  if (s[j]=='=') found=true;
116  j++;
117  }
118  if (found) // found a '=', write it without spaces
119  {
120  c = '=';
121  i=j;
122  }
123  }
124  s[dstIdx++]=c;
125  }
126  s.resize(dstIdx+1);
127  //printf("<removeSpacesAroundEquals(%s)\n",qPrint(s));
128 }

引用了 QCString::length() , 以及 QCString::resize().

被这些函数引用 TemplateNodeWith::TemplateNodeWith().

◆ split()

static std::vector<QCString> split ( const QCString str,
const QCString sep,
bool  allowEmptyEntries = FALSE,
bool  cleanup = TRUE 
)
static

在文件 template.cpp47 行定义.

49 {
50  std::vector<QCString> lst;
51 
52  int j = 0;
53  int i = str.find( sep, j );
54 
55  while (i!=-1)
56  {
57  if ( str.mid(j,i-j).length() > 0 )
58  {
59  if (cleanup)
60  {
61  lst.push_back(str.mid(j,i-j).stripWhiteSpace());
62  }
63  else
64  {
65  lst.push_back(str.mid(j,i-j));
66  }
67  }
68  else if (allowEmptyEntries)
69  {
70  lst.push_back("");
71  }
72  j = i + sep.length();
73  i = str.find(sep,j);
74  }
75 
76  int l = str.length() - 1;
77  if (str.mid(j,l-j+1).length()>0)
78  {
79  if (cleanup)
80  {
81  lst.push_back(str.mid(j,l-j+1).stripWhiteSpace());
82  }
83  else
84  {
85  lst.push_back(str.mid(j,l-j+1));
86  }
87  }
88  else if (allowEmptyEntries)
89  {
90  lst.push_back("");
91  }
92 
93  return lst;
94 }

引用了 QCString::find(), QCString::length(), QCString::mid() , 以及 QCString::stripWhiteSpace().

被这些函数引用 VHDLOutlineParser::addProto(), VHDLOutlineParser::addVhdlType(), FlowChart::alignCommentNode(), VHDLOutlineParser::checkInlineCode(), VHDLOutlineParser::createFunction(), VhdlDocGen::findArchitecture(), formatBriefNote(), VhdlDocGen::getIndexWord(), DocPara::handleCommand(), DocPara::handleImage(), DocPara::handleInclude(), Qhp::initialize(), VhdlDocGen::parseForBinding(), VhdlDocGen::parseForConfig(), TemplateNodeCycle::TemplateNodeCycle(), TemplateNodeFor::TemplateNodeFor(), TemplateNodeIndexEntry::TemplateNodeIndexEntry(), TemplateNodeWith::TemplateNodeWith(), VhdlDocGen::writeInlineClassLink() , 以及 VhdlDocGen::writeRecUnitDocu().

◆ stripLeadingWhiteSpace()

static void stripLeadingWhiteSpace ( QCString s)
static

在文件 template.cpp3807 行定义.

3808 {
3809  bool skipSpaces=true;
3810  const char *src = s.data();
3811  char *dst = s.rawData();
3812  char c;
3813  while ((c=*src++))
3814  {
3815  if (c=='\n') { *dst++=c; skipSpaces=true; }
3816  else if (c==' ' && skipSpaces) {}
3817  else { *dst++ = c; skipSpaces=false; }
3818  }
3819  s.resize(dst-s.data()+1);
3820 }

引用了 QCString::data(), QCString::rawData() , 以及 QCString::resize().

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

变量说明

◆ autoRefBlock

◆ autoRefCloseSubIndex

TemplateNodeFactory::AutoRegister<TemplateNodeCloseSubIndex> autoRefCloseSubIndex("closesubindex")
static

◆ autoRefCreate

TemplateNodeFactory::AutoRegister<TemplateNodeCreate> autoRefCreate("create")
static

◆ autoRefCycle

◆ autoRefEncoding

TemplateNodeFactory::AutoRegister<TemplateNodeEncoding> autoRefEncoding("encoding")
static

◆ autoRefExtend

TemplateNodeFactory::AutoRegister<TemplateNodeExtend> autoRefExtend("extend")
static

◆ autoRefFor

◆ autoRefIf

◆ autoRefInclude

TemplateNodeFactory::AutoRegister<TemplateNodeInclude> autoRefInclude("include")
static

◆ autoRefIndexEntry

TemplateNodeFactory::AutoRegister<TemplateNodeIndexEntry> autoRefIndexEntry("indexentry")
static

◆ autoRefMarkers

TemplateNodeFactory::AutoRegister<TemplateNodeMarkers> autoRefMarkers("markers")
static

◆ autoRefMsg

◆ autoRefOpenSubIndex

TemplateNodeFactory::AutoRegister<TemplateNodeOpenSubIndex> autoRefOpenSubIndex("opensubindex")
static

◆ autoRefRange

◆ autoRefRepeat

TemplateNodeFactory::AutoRegister<TemplateNodeRepeat> autoRefRepeat("repeat")
static

◆ autoRefResource

TemplateNodeFactory::AutoRegister<TemplateNodeResource> autoRefResource("resource")
static

◆ autoRefSet

◆ autoRefSpaceless

TemplateNodeFactory::AutoRegister<TemplateNodeSpaceless> autoRefSpaceless("spaceless")
static

◆ autoRefTabbing

TemplateNodeFactory::AutoRegister<TemplateNodeTabbing> autoRefTabbing("tabbing")
static

◆ autoRefTree

TemplateNodeFactory::AutoRegister<TemplateNodeTree> autoRefTree("recursetree")
static

◆ autoRefWith

◆ fAdd

◆ fAlphaIndex

TemplateFilterFactory::AutoRegister<FilterAlphaIndex> fAlphaIndex("alphaIndex")
static

◆ fAppend

◆ fDecodeURL

TemplateFilterFactory::AutoRegister<FilterDecodeURL> fDecodeURL("decodeURL")
static

◆ fDefault

◆ fDivisibleBy

TemplateFilterFactory::AutoRegister<FilterDivisibleBy> fDivisibleBy("divisibleby")
static

◆ fEscape

◆ fFlatten

◆ fGet

◆ fGroupBy

◆ fHex

◆ fIsAbsoluteURL

TemplateFilterFactory::AutoRegister<FilterIsAbsoluteURL> fIsAbsoluteURL("isAbsoluteURL")
static

◆ fIsRelativeURL

TemplateFilterFactory::AutoRegister<FilterIsRelativeURL> fIsRelativeURL("isRelativeURL")
static

◆ fKeep

◆ fLength

◆ fList

◆ fListSort

TemplateFilterFactory::AutoRegister<FilterListSort> fListSort("listsort")
static

◆ fLower

◆ fNoWrap

◆ fPaginate

TemplateFilterFactory::AutoRegister<FilterPaginate> fPaginate("paginate")
static

◆ fPrepend

◆ fRaw

◆ fRelative

TemplateFilterFactory::AutoRegister<FilterRelative> fRelative("relative")
static

◆ fStripPath

TemplateFilterFactory::AutoRegister<FilterStripPath> fStripPath("stripPath")
static

◆ fTexIndex

TemplateFilterFactory::AutoRegister<FilterTexIndex> fTexIndex("texIndex")
static

◆ fTexLabel

TemplateFilterFactory::AutoRegister<FilterTexLabel> fTexLabel("texLabel")
static

◆ fUpper

TemplateVariant::toStruct
TemplateStructIntfPtr toStruct()
Returns the pointer to struct referenced by this variant or 0 if this variant does not have struct ty...
Definition: template.cpp:441
QCString::rawData
char * rawData()
Returns a writable pointer to the data.
Definition: qcstring.h:157
QCString::length
uint length() const
Returns the length of the string, not counting the 0-terminator.
Definition: qcstring.h:147
TemplateListPtr
std::shared_ptr< TemplateList > TemplateListPtr
Definition: template.cpp:224
TemplateVariant::isWeakStruct
constexpr bool isWeakStruct() const
Returns TRUE if the variant holds a struct value
Definition: template.h:217
QCString::find
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:38
uint
unsigned uint
Definition: qcstring.h:40
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
QCString::stripWhiteSpace
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition: qcstring.h:243
TemplateVariant::isStruct
constexpr bool isStruct() const
Returns TRUE if the variant holds a struct value
Definition: template.h:211
getPathListFunc
static void getPathListFunc(const TemplateStructIntfPtr entry, TemplateListPtr list)
Definition: template.cpp:2833
TemplateList::alloc
static TemplateListPtr alloc()
Creates an instance and returns a shared pointer to it
Definition: template.cpp:291
QCString::mid
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
Definition: qcstring.h:224
QCString::data
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string
Definition: qcstring.h:153
QCString::resize
bool resize(size_t newlen)
Resizes the string to hold newlen characters (this value should also count the 0-terminator).
Definition: qcstring.h:164