Doxygen
classdef.cpp 文件参考
#include <cstdio>
#include <algorithm>
#include "classdef.h"
#include "classlist.h"
#include "entry.h"
#include "doxygen.h"
#include "membername.h"
#include "message.h"
#include "config.h"
#include "util.h"
#include "diagram.h"
#include "language.h"
#include "htmlhelp.h"
#include "example.h"
#include "outputlist.h"
#include "dot.h"
#include "dotclassgraph.h"
#include "dotrunner.h"
#include "defargs.h"
#include "debug.h"
#include "docparser.h"
#include "searchindex.h"
#include "vhdldocgen.h"
#include "layout.h"
#include "arguments.h"
#include "memberlist.h"
#include "groupdef.h"
#include "filedef.h"
#include "namespacedef.h"
#include "membergroup.h"
#include "definitionimpl.h"
#include "symbolresolver.h"
#include "fileinfo.h"
+ classdef.cpp 的引用(Include)关系图:

浏览源代码.

class  ClassDefImpl
 Implementation of the ClassDef interface 更多...
 
class  ClassDefAliasImpl
 
class  ClassDefImpl::IMPL
 Private data associated with a ClassDef object. 更多...
 

函数

static QCString makeQualifiedNameWithTemplateParameters (const ClassDef *cd, const ArgumentLists *actualParams, uint *actualParamIndex)
 
static QCString makeDisplayName (const ClassDef *cd, bool includeScope)
 
ClassDefMutablecreateClassDef (const QCString &fileName, int startLine, int startColumn, const QCString &name, ClassDef::CompoundType ct, const QCString &ref, const QCString &fName, bool isSymbol, bool isJavaEnum)
 Factory method to create a new ClassDef object 更多...
 
ClassDefcreateClassDefAlias (const Definition *newScope, const ClassDef *cd)
 
static void writeInheritanceSpecifier (OutputList &ol, const BaseClassDef &bcd)
 
static void searchTemplateSpecs (const Definition *d, ArgumentLists &result, QCString &name, SrcLangExt lang)
 
static bool isStandardFunc (const MemberDef *md)
 
ClassDeftoClassDef (Definition *d)
 
ClassDeftoClassDef (DefinitionMutable *md)
 
const ClassDeftoClassDef (const Definition *d)
 
ClassDefMutabletoClassDefMutable (Definition *d)
 
ClassDefMutabletoClassDefMutable (const Definition *d)
 
ClassDefgetClass (const QCString &n)
 
bool hasVisibleRoot (const BaseClassList &bcl)
 
bool classHasVisibleChildren (const ClassDef *cd)
 
bool classVisibleInIndex (const ClassDef *cd)
 
int minClassDistance (const ClassDef *cd, const ClassDef *bcd, int level)
 
Protection classInheritedProtectionLevel (const ClassDef *cd, const ClassDef *bcd, Protection prot, int level)
 

函数说明

◆ classHasVisibleChildren()

bool classHasVisibleChildren ( const ClassDef cd)

在文件 classdef.cpp4991 行定义.

4992 {
4993  BaseClassList bcl;
4994 
4995  if (cd->getLanguage()==SrcLangExt_VHDL) // reverse baseClass/subClass relation
4996  {
4997  if (cd->baseClasses().empty()) return FALSE;
4998  bcl=cd->baseClasses();
4999  }
5000  else
5001  {
5002  if (cd->subClasses().empty()) return FALSE;
5003  bcl=cd->subClasses();
5004  }
5005 
5006  for (const auto &bcd : bcl)
5007  {
5008  if (bcd.classDef->isVisibleInHierarchy())
5009  {
5010  return TRUE;
5011  }
5012  }
5013  return FALSE;
5014 }

引用了 ClassDef::baseClasses(), FALSE, Definition::getLanguage(), SrcLangExt_VHDL, ClassDef::subClasses() , 以及 TRUE.

被这些函数引用 NestingNodeContext::Private::addClasses(), writeClassTreeForList() , 以及 writeClassTreeToOutput().

◆ classInheritedProtectionLevel()

Protection classInheritedProtectionLevel ( const ClassDef cd,
const ClassDef bcd,
Protection  prot,
int  level 
)

在文件 classdef.cpp5051 行定义.

5052 {
5053  if (bcd->categoryOf()) // use class that is being extended in case of
5054  // an Objective-C category
5055  {
5056  bcd=bcd->categoryOf();
5057  }
5058  if (cd==bcd)
5059  {
5060  goto exit;
5061  }
5062  if (level==256)
5063  {
5064  err("Internal inconsistency: found class %s seem to have a recursive "
5065  "inheritance relation! Please send a bug report to doxygen@gmail.com\n",qPrint(cd->name()));
5066  }
5067  else if (prot!=Private)
5068  {
5069  for (const auto &bcdi : cd->baseClasses())
5070  {
5071  Protection baseProt = classInheritedProtectionLevel(bcdi.classDef,bcd,bcdi.prot,level+1);
5072  if (baseProt==Private) prot=Private;
5073  else if (baseProt==Protected) prot=Protected;
5074  }
5075  }
5076 exit:
5077  //printf("classInheritedProtectionLevel(%s,%s)=%d\n",qPrint(cd->name()),qPrint(bcd->name()),prot);
5078  return prot;
5079 }

引用了 ClassDef::baseClasses(), ClassDef::categoryOf(), classInheritedProtectionLevel(), err(), Definition::name(), Private, Protected , 以及 qPrint().

被这些函数引用 classInheritedProtectionLevel().

◆ classVisibleInIndex()

bool classVisibleInIndex ( const ClassDef cd)

在文件 classdef.cpp5016 行定义.

5017 {
5018  bool allExternals = Config_getBool(ALLEXTERNALS);
5019  return (allExternals && cd->isLinkable()) || cd->isLinkableInProject();
5020 }

引用了 Config_getBool, ClassDef::isLinkable() , 以及 ClassDef::isLinkableInProject().

被这些函数引用 NestingContext::Private::addClass() , 以及 writeClassTree().

◆ createClassDef()

ClassDefMutable* createClassDef ( const QCString fileName,
int  startLine,
int  startColumn,
const QCString name,
ClassDef::CompoundType  ct,
const QCString ref,
const QCString fName,
bool  isSymbol,
bool  isJavaEnum 
)

Factory method to create a new ClassDef object

在文件 classdef.cpp367 行定义.

372 {
373  return new ClassDefImpl(fileName,startLine,startColumn,name,ct,ref,fName,isSymbol,isJavaEnum);
374 }

被这些函数引用 addClassToContext(), createTagLessInstance(), findClassRelation(), findUsedClassesForClass() , 以及 findUsingDeclarations().

◆ createClassDefAlias()

ClassDef* createClassDefAlias ( const Definition newScope,
const ClassDef cd 
)

在文件 classdef.cpp559 行定义.

560 {
561  ClassDef *acd = new ClassDefAliasImpl(newScope,cd);
562  //printf("cd name=%s localName=%s qualifiedName=%s qualifiedNameWith=%s displayName()=%s\n",
563  // qPrint(acd->name()),qPrint(acd->localName()),qPrint(acd->qualifiedName()),
564  // qPrint(acd->qualifiedNameWithTemplateParameters()),qPrint(acd->displayName()));
565  return acd;
566 }

被这些函数引用 resolveClassNestingRelations().

◆ getClass()

◆ hasVisibleRoot()

bool hasVisibleRoot ( const BaseClassList bcl)

在文件 classdef.cpp4980 行定义.

4981 {
4982  for (const auto &bcd : bcl)
4983  {
4984  const ClassDef *cd=bcd.classDef;
4985  if (cd->isVisibleInHierarchy()) return true;
4986  if (hasVisibleRoot(cd->baseClasses())) return true;
4987  }
4988  return false;
4989 }

引用了 ClassDef::baseClasses(), hasVisibleRoot() , 以及 ClassDef::isVisibleInHierarchy().

被这些函数引用 NestingContext::Private::addClassHierarchy(), DotGfxHierarchyTable::addClassList(), NestingContext::Private::addDerivedClasses(), DotGfxHierarchyTable::addHierarchy(), countClassesInTreeList(), hasVisibleRoot(), writeClassTreeForList() , 以及 writeClassTreeToOutput().

◆ isStandardFunc()

static bool isStandardFunc ( const MemberDef md)
static

在文件 classdef.cpp3375 行定义.

3376 {
3377  return md->name()=="operator=" || // assignment operator
3378  md->isConstructor() || // constructor
3379  md->isDestructor(); // destructor
3380 }

引用了 MemberDef::isConstructor(), MemberDef::isDestructor() , 以及 Definition::name().

被这些函数引用 ClassDefImpl::mergeMembers().

◆ makeDisplayName()

static QCString makeDisplayName ( const ClassDef cd,
bool  includeScope 
)
static

在文件 classdef.cpp107 行定义.

108 {
109  //static bool optimizeOutputForJava = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
110  SrcLangExt lang = cd->getLanguage();
111  //static bool vhdlOpt = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
112  QCString n;
113  if (lang==SrcLangExt_VHDL)
114  {
115  n = VhdlDocGen::getClassName(cd);
116  }
117  else
118  {
119  if (includeScope)
120  {
122  }
123  else
124  {
125  n=cd->className();
126  }
127  }
128  if (cd->isAnonymous())
129  {
130  n = removeAnonymousScopes(n);
131  }
133  if (sep!="::")
134  {
135  n=substitute(n,"::",sep);
136  }
137  if (cd->compoundType()==ClassDef::Protocol && n.right(2)=="-p")
138  {
139  n="<"+n.left(n.length()-2)+">";
140  }
141  //else if (n.right(2)=="-g")
142  //{
143  // n = n.left(n.length()-2);
144  //}
145  //printf("ClassDefImpl::displayName()=%s\n",qPrint(n));
146  return n;
147 }

引用了 ClassDef::className(), ClassDef::compoundType(), VhdlDocGen::getClassName(), Definition::getLanguage(), getLanguageSpecificSeparator(), Definition::isAnonymous(), QCString::left(), QCString::length(), ClassDef::Protocol, ClassDef::qualifiedNameWithTemplateParameters(), removeAnonymousScopes(), QCString::right(), SrcLangExt_VHDL , 以及 substitute().

被这些函数引用 ClassDefImpl::displayName() , 以及 ClassDefAliasImpl::displayName().

◆ makeQualifiedNameWithTemplateParameters()

static QCString makeQualifiedNameWithTemplateParameters ( const ClassDef cd,
const ArgumentLists actualParams,
uint actualParamIndex 
)
static

在文件 classdef.cpp55 行定义.

57 {
58  //static bool optimizeOutputJava = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
59  bool hideScopeNames = Config_getBool(HIDE_SCOPE_NAMES);
60  //printf("qualifiedNameWithTemplateParameters() localName=%s\n",qPrint(localName()));
61  QCString scName;
62  const Definition *d=cd->getOuterScope();
63  if (d)
64  {
66  {
67  const ClassDef *ocd=toClassDef(d);
68  scName = ocd->qualifiedNameWithTemplateParameters(actualParams,actualParamIndex);
69  }
70  else if (!hideScopeNames)
71  {
72  scName = d->qualifiedName();
73  }
74  }
75 
76  SrcLangExt lang = cd->getLanguage();
77  QCString scopeSeparator = getLanguageSpecificSeparator(lang);
78  if (!scName.isEmpty()) scName+=scopeSeparator;
79 
80  bool isSpecialization = cd->localName().find('<')!=-1;
81 
82  QCString clName = cd->className();
83  scName+=clName;
84  if (!cd->templateArguments().empty())
85  {
86  if (actualParams && *actualParamIndex<actualParams->size())
87  {
88  const ArgumentList &al = actualParams->at(*actualParamIndex);
89  if (!isSpecialization)
90  {
91  scName+=tempArgListToString(al,lang);
92  }
93  (*actualParamIndex)++;
94  }
95  else
96  {
97  if (!isSpecialization)
98  {
99  scName+=tempArgListToString(cd->templateArguments(),lang);
100  }
101  }
102  }
103  //printf("qualifiedNameWithTemplateParameters: scope=%s qualifiedName=%s\n",qPrint(name()),qPrint(scName));
104  return scName;
105 }

引用了 ArgumentList::at(), ClassDef::className(), Config_getBool, Definition::definitionType(), ArgumentList::empty(), QCString::find(), Definition::getLanguage(), getLanguageSpecificSeparator(), Definition::getOuterScope(), QCString::isEmpty(), isSpecialization(), Definition::localName(), Definition::qualifiedName(), ClassDef::qualifiedNameWithTemplateParameters(), tempArgListToString(), ClassDef::templateArguments(), toClassDef() , 以及 Definition::TypeClass.

被这些函数引用 ClassDefImpl::qualifiedNameWithTemplateParameters() , 以及 ClassDefAliasImpl::qualifiedNameWithTemplateParameters().

◆ minClassDistance()

int minClassDistance ( const ClassDef cd,
const ClassDef bcd,
int  level 
)

在文件 classdef.cpp5026 行定义.

5027 {
5028  const int maxInheritanceDepth = 100000;
5029  if (bcd->categoryOf()) // use class that is being extended in case of
5030  // an Objective-C category
5031  {
5032  bcd=bcd->categoryOf();
5033  }
5034  if (cd==bcd) return level;
5035  if (level==256)
5036  {
5037  warn_uncond("class %s seem to have a recursive "
5038  "inheritance relation!\n",qPrint(cd->name()));
5039  return -1;
5040  }
5041  int m=maxInheritanceDepth;
5042  for (const auto &bcdi : cd->baseClasses())
5043  {
5044  int mc=minClassDistance(bcdi.classDef,bcd,level+1);
5045  if (mc<m) m=mc;
5046  if (m<0) break;
5047  }
5048  return m;
5049 }

引用了 ClassDef::baseClasses(), ClassDef::categoryOf(), maxInheritanceDepth, minClassDistance(), Definition::name(), qPrint() , 以及 warn_uncond().

被这些函数引用 computeMemberRelations(), getDefs(), ClassDefImpl::getMemberByName() , 以及 minClassDistance().

◆ searchTemplateSpecs()

static void searchTemplateSpecs ( const Definition d,
ArgumentLists result,
QCString name,
SrcLangExt  lang 
)
static

在文件 classdef.cpp1267 行定义.

1271 {
1273  {
1274  if (d->getOuterScope())
1275  {
1276  searchTemplateSpecs(d->getOuterScope(),result,name,lang);
1277  }
1278  const ClassDef *cd=toClassDef(d);
1279  if (!name.isEmpty()) name+="::";
1280  QCString clName = d->localName();
1281  if (/*clName.right(2)=="-g" ||*/ clName.right(2)=="-p")
1282  {
1283  clName = clName.left(clName.length()-2);
1284  }
1285  name+=clName;
1286  bool isSpecialization = d->localName().find('<')!=-1;
1287  if (!cd->templateArguments().empty())
1288  {
1289  result.push_back(cd->templateArguments());
1290  if (!isSpecialization)
1291  {
1292  name+=tempArgListToString(cd->templateArguments(),lang);
1293  }
1294  }
1295  }
1296  else
1297  {
1298  name+=d->qualifiedName();
1299  }
1300 }

引用了 Definition::definitionType(), ArgumentList::empty(), QCString::find(), Definition::getOuterScope(), QCString::isEmpty(), isSpecialization(), QCString::left(), QCString::length(), Definition::localName(), Definition::qualifiedName(), QCString::right(), tempArgListToString(), ClassDef::templateArguments(), toClassDef() , 以及 Definition::TypeClass.

被这些函数引用 ClassDefImpl::writeTemplateSpec().

◆ toClassDef() [1/3]

const ClassDef* toClassDef ( const Definition d)

在文件 classdef.cpp4932 行定义.

4933 {
4934  if (d && (typeid(*d)==typeid(ClassDefImpl) || typeid(*d)==typeid(ClassDefAliasImpl)))
4935  {
4936  return static_cast<const ClassDef*>(d);
4937  }
4938  else
4939  {
4940  return 0;
4941  }
4942 }

◆ toClassDef() [2/3]

◆ toClassDef() [3/3]

ClassDef* toClassDef ( DefinitionMutable md)

在文件 classdef.cpp4919 行定义.

4920 {
4921  Definition *d = toDefinition(md);
4922  if (d && typeid(*d)==typeid(ClassDefImpl))
4923  {
4924  return static_cast<ClassDef*>(d);
4925  }
4926  else
4927  {
4928  return 0;
4929  }
4930 }

引用了 toDefinition().

◆ toClassDefMutable() [1/2]

ClassDefMutable* toClassDefMutable ( const Definition d)

在文件 classdef.cpp4956 行定义.

4957 {
4958  if (d && typeid(*d)==typeid(ClassDefImpl))
4959  {
4960  return const_cast<ClassDefMutable*>(static_cast<const ClassDefMutable*>(d));
4961  }
4962  else
4963  {
4964  return 0;
4965  }
4966 }

◆ toClassDefMutable() [2/2]

ClassDefMutable* toClassDefMutable ( Definition d)

在文件 classdef.cpp4944 行定义.

4945 {
4946  if (d && typeid(*d)==typeid(ClassDefImpl))
4947  {
4948  return static_cast<ClassDefMutable*>(d);
4949  }
4950  else
4951  {
4952  return 0;
4953  }
4954 }

被这些函数引用 addClassToContext(), addClassToGroups(), addListReferences(), addMembersToMemberGroup(), ClassDefImpl::addMembersToTemplateInstance(), addMemberToGroups(), ClassDefImpl::addTypeConstraint(), buildCompleteMemberLists(), computeMemberReferences(), computeTemplateClassRelations(), VhdlDocGen::computeVhdlComponentRelations(), ClassDefImpl::countInheritedDecMembers(), countMembers(), createTagLessInstance(), createTemplateInstanceMembers(), distributeClassGroupRelations(), distributeMemberGroupDocumentation(), findClassRelation(), findInheritedTemplateInstances(), findSectionsInDocumentation(), findTagLessClasses(), findTemplateInstanceRelation(), findUsedClassesForClass(), findUsedTemplateInstances(), findUsingDeclarations(), generateClassList(), generateNamespaceClassDocs(), MemberDef::getClassDefMutable(), getClassMutable(), ClassDefImpl::insertTemplateInstance(), ClassDefImpl::insertUsedFile(), mergeCategories(), ClassDefImpl::mergeCategory(), ClassDefImpl::mergeMembers(), SymbolResolver::resolveClassMutable(), resolveClassNestingRelations(), setAnonymousEnumType(), ClassDefImpl::setGroupDefForAllMembers(), sortMemberLists(), writeClassTree(), MemberDefImpl::writeDeclaration(), MemberList::writeDeclarations(), ClassLinkedRefMap::writeDocumentation(), ClassDefImpl::writeDocumentationForInnerClasses(), ClassDefImpl::writeInheritedMemberDeclarations() , 以及 writeTagFile().

◆ writeInheritanceSpecifier()

static void writeInheritanceSpecifier ( OutputList ol,
const BaseClassDef bcd 
)
static

在文件 classdef.cpp1206 行定义.

1207 {
1208  if (bcd.prot!=Public || bcd.virt!=Normal)
1209  {
1210  ol.startTypewriter();
1211  ol.docify(" [");
1212  StringVector sl;
1213  if (bcd.prot==Protected) sl.push_back("protected");
1214  else if (bcd.prot==Private) sl.push_back("private");
1215  if (bcd.virt==Virtual) sl.push_back("virtual");
1216  bool first=true;
1217  for (const auto &s : sl)
1218  {
1219  if (!first) ol.docify(", ");
1220  ol.docify(s.c_str());
1221  first=false;
1222  }
1223  ol.docify("]");
1224  ol.endTypewriter();
1225  }
1226 }

引用了 OutputList::docify(), OutputList::endTypewriter(), Normal, Private, BaseClassDef::prot, Protected, Public, OutputList::startTypewriter(), BaseClassDef::virt , 以及 Virtual.

被这些函数引用 ClassDefImpl::writeInheritanceGraph().

toDefinition
Definition * toDefinition(DefinitionMutable *dm)
Definition: definition.cpp:1950
StringVector
std::vector< std::string > StringVector
Definition: containers.h:32
BaseClassDef::virt
Specifier virt
Virtualness of the inheritance relation: Normal, or Virtual
Definition: classdef.h:75
hasVisibleRoot
bool hasVisibleRoot(const BaseClassList &bcl)
Definition: classdef.cpp:4980
ClassDefMutable
Definition: classdef.h:384
Normal
@ Normal
Definition: types.h:29
Protection
Protection
Protection level of members
Definition: types.h:26
MemberDef::isDestructor
virtual bool isDestructor() const =0
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
ClassDef::categoryOf
virtual ClassDef * categoryOf() const =0
Returns the class of which this is a category (Objective-C only)
Private
@ Private
Definition: types.h:26
OutputList::docify
void docify(const QCString &s)
Definition: outputlist.h:137
QCString::length
uint length() const
Returns the length of the string, not counting the 0-terminator.
Definition: qcstring.h:147
ArgumentList
This class represents an function or template argument list.
Definition: arguments.h:59
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
SrcLangExt
SrcLangExt
Language as given by extension
Definition: types.h:41
Virtual
@ Virtual
Definition: types.h:29
ClassDef::isLinkableInProject
virtual bool isLinkableInProject() const =0
returns TRUE iff a link is possible to this item within this project.
Public
@ Public
Definition: types.h:26
BaseClassDef::prot
Protection prot
Protection level of the inheritance relation: Public, Protected, or Private
Definition: classdef.h:70
err
void err(const char *fmt,...)
Definition: message.cpp:203
ClassDef::isVisibleInHierarchy
virtual bool isVisibleInHierarchy() const =0
the class is visible in a class diagram, or class hierarchy
QCString::find
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:38
OutputList::endTypewriter
void endTypewriter()
Definition: outputlist.h:167
isSpecialization
static bool isSpecialization(const ArgumentLists &srcTempArgLists, const ArgumentLists &dstTempArgLists)
Definition: doxygen.cpp:5474
Definition::getLanguage
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
OutputList::startTypewriter
void startTypewriter()
Definition: outputlist.h:165
Definition::qualifiedName
virtual QCString qualifiedName() const =0
VhdlDocGen::getClassName
static QCString getClassName(const ClassDef *)
Definition: vhdldocgen.cpp:810
warn_uncond
void warn_uncond(const char *fmt,...)
Definition: message.cpp:194
ClassDef
A abstract class representing of a compound symbol.
Definition: classdef.h:103
searchTemplateSpecs
static void searchTemplateSpecs(const Definition *d, ArgumentLists &result, QCString &name, SrcLangExt lang)
Definition: classdef.cpp:1267
classInheritedProtectionLevel
Protection classInheritedProtectionLevel(const ClassDef *cd, const ClassDef *bcd, Protection prot, int level)
Definition: classdef.cpp:5051
QCString::left
QCString left(size_t len) const
Definition: qcstring.h:212
ArgumentList::at
Argument & at(size_t i)
Definition: arguments.h:100
Definition::isAnonymous
virtual bool isAnonymous() const =0
ArgumentList::empty
bool empty() const
Definition: arguments.h:92
MemberDef::isConstructor
virtual bool isConstructor() const =0
ClassDef::baseClasses
virtual const BaseClassList & baseClasses() const =0
Returns the list of base classes from which this class directly inherits.
Definition::name
virtual QCString name() const =0
ClassDefAliasImpl
Definition: classdef.cpp:377
getLanguageSpecificSeparator
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
Returns the scope separator to use given the programming language lang
Definition: util.cpp:6545
minClassDistance
int minClassDistance(const ClassDef *cd, const ClassDef *bcd, int level)
Definition: classdef.cpp:5026
TRUE
#define TRUE
Definition: qcstring.h:36
tempArgListToString
QCString tempArgListToString(const ArgumentList &al, SrcLangExt lang, bool includeDefault)
Definition: util.cpp:1194
LinkedMap::find
const T * find(const std::string &key) const
Find an object given the key.
Definition: linkedmap.h:60
toClassDef
ClassDef * toClassDef(Definition *d)
Definition: classdef.cpp:4907
Definition::TypeClass
@ TypeClass
Definition: definition.h:87
Definition::definitionType
virtual DefType definitionType() const =0
ClassDef::subClasses
virtual const BaseClassList & subClasses() const =0
Returns the list of sub classes that directly derive from this class
ClassDefImpl
Implementation of the ClassDef interface
Definition: classdef.cpp:154
ClassDef::compoundType
virtual CompoundType compoundType() const =0
Returns the type of compound this is, i.e.
Protected
@ Protected
Definition: types.h:26
substitute
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition: qcstring.cpp:465
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
ClassDef::Protocol
@ Protocol
Definition: classdef.h:111
Definition::getOuterScope
virtual Definition * getOuterScope() const =0
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
removeAnonymousScopes
QCString removeAnonymousScopes(const QCString &str)
Definition: util.cpp:166
SrcLangExt_VHDL
@ SrcLangExt_VHDL
Definition: types.h:54
maxInheritanceDepth
const int maxInheritanceDepth
Definition: util.cpp:150
Doxygen::classLinkedMap
static ClassLinkedMap * classLinkedMap
Definition: doxygen.h:78
ClassDef::qualifiedNameWithTemplateParameters
virtual QCString qualifiedNameWithTemplateParameters(const ArgumentLists *actualParams=0, uint *actualParamIndex=0) const =0
BaseClassList
std::vector< BaseClassDef > BaseClassList
Definition: classdef.h:81
Definition::localName
virtual QCString localName() const =0
ClassDef::isLinkable
virtual bool isLinkable() const =0
return TRUE iff a link to this class is possible (either within this project, or as a cross-reference...
QCString::right
QCString right(size_t len) const
Definition: qcstring.h:217
ClassDef::className
virtual QCString className() const =0
Returns the name of the class including outer classes, but not including namespaces.
ClassDef::templateArguments
virtual const ArgumentList & templateArguments() const =0
Returns the template arguments of this class
FALSE
#define FALSE
Definition: qcstring.h:33
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108