Doxygen
memberdef.h
浏览该文件的文档.
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 1997-2015 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby
9  * granted. No representations are made about the suitability of this software
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17 
18 #ifndef MEMBERDEF_H
19 #define MEMBERDEF_H
20 
21 #include <vector>
22 #include <memory>
23 
24 #include <sys/types.h>
25 
26 #include "types.h"
27 #include "definition.h"
28 #include "arguments.h"
29 #include "classdef.h"
30 
31 class NamespaceDef;
32 class GroupDef;
33 class FileDef;
34 class MemberList;
35 class MemberGroup;
36 class ExampleList;
37 class OutputList;
38 class GroupDef;
39 struct TagInfo;
40 class MemberDefMutable;
41 class MemberGroupList;
42 class MemberVector;
43 
44 /** A model of a class/file/namespace member symbol. */
45 class MemberDef : public Definition
46 {
47  public:
48  virtual ~MemberDef() {}
49  virtual DefType definitionType() const = 0;
50  // move this member into a different scope
51  virtual MemberDef *deepCopy() const =0;
52  virtual void moveTo(Definition *) = 0;
53 
54  virtual MemberDef *resolveAlias() = 0;
55  virtual const MemberDef *resolveAlias() const = 0;
56 
58 
59  //-----------------------------------------------------------------------------------
60  // ---- getters -----
61  //-----------------------------------------------------------------------------------
62 
63  // link id
64  virtual QCString getOutputFileBase() const = 0;
65  virtual QCString getReference() const = 0;
66  virtual QCString anchor() const = 0;
67 
68  virtual QCString declaration() const = 0;
69  virtual QCString definition() const = 0;
70  virtual QCString typeString() const = 0;
71  virtual QCString argsString() const = 0;
72  virtual QCString excpString() const = 0;
73  virtual QCString bitfieldString() const = 0;
74  virtual QCString extraTypeChars() const = 0;
75  virtual const QCString &initializer() const = 0;
76  virtual int initializerLines() const = 0;
77  virtual uint64 getMemberSpecifiers() const = 0;
78  virtual const MemberList *getSectionList(const Definition *container) const = 0;
79  virtual QCString displayDefinition() const = 0;
80 
81  // scope query members
82  virtual const FileDef *getFileDef() const = 0;
83  virtual const ClassDef *getClassDef() const = 0;
84  virtual const NamespaceDef* getNamespaceDef() const = 0;
85  virtual const ClassDef *accessorClass() const = 0;
86 
87  // grabbing the property read/write accessor names
88  virtual QCString getReadAccessor() const = 0;
89  virtual QCString getWriteAccessor() const = 0;
90 
91  // querying the grouping definition
92  virtual const GroupDef *getGroupDef() const = 0;
93  virtual Grouping::GroupPri_t getGroupPri() const = 0;
94  virtual QCString getGroupFileName() const = 0;
95  virtual int getGroupStartLine() const = 0;
96  virtual bool getGroupHasDocs() const = 0;
97 
98  virtual QCString qualifiedName() const = 0;
99  virtual QCString objCMethodName(bool localLink,bool showStatic) const = 0;
100 
101  // direct kind info
102  virtual Protection protection() const = 0;
103  virtual Specifier virtualness(int count=0) const = 0;
104  virtual MemberType memberType() const = 0;
105  virtual QCString memberTypeName() const = 0;
106 
107  // getter methods
108  virtual bool isSignal() const = 0;
109  virtual bool isSlot() const = 0;
110  virtual bool isVariable() const = 0;
111  virtual bool isEnumerate() const = 0;
112  virtual bool isEnumValue() const = 0;
113  virtual bool isTypedef() const = 0;
114  virtual bool isSequence() const = 0;
115  virtual bool isDictionary() const = 0;
116  virtual bool isFunction() const = 0;
117  virtual bool isFunctionPtr() const = 0;
118  virtual bool isDefine() const = 0;
119  virtual bool isFriend() const = 0;
120  virtual bool isDCOP() const = 0;
121  virtual bool isProperty() const = 0;
122  virtual bool isEvent() const = 0;
123  virtual bool isRelated() const = 0;
124  virtual bool isForeign() const = 0;
125  virtual bool isStatic() const = 0;
126  virtual bool isInline() const = 0;
127  virtual bool isExplicit() const = 0;
128  virtual bool isMutable() const = 0;
129  virtual bool isGettable() const = 0;
130  virtual bool isPrivateGettable() const = 0;
131  virtual bool isProtectedGettable() const = 0;
132  virtual bool isSettable() const = 0;
133  virtual bool isPrivateSettable() const = 0;
134  virtual bool isProtectedSettable() const = 0;
135  virtual bool isReadable() const = 0;
136  virtual bool isWritable() const = 0;
137  virtual bool isAddable() const = 0;
138  virtual bool isRemovable() const = 0;
139  virtual bool isRaisable() const = 0;
140  virtual bool isFinal() const = 0;
141  virtual bool isAbstract() const = 0;
142  virtual bool isOverride() const = 0;
143  virtual bool isInitonly() const = 0;
144  virtual bool isOptional() const = 0;
145  virtual bool isRequired() const = 0;
146  virtual bool isNonAtomic() const = 0;
147  virtual bool isCopy() const = 0;
148  virtual bool isAssign() const = 0;
149  virtual bool isRetain() const = 0;
150  virtual bool isWeak() const = 0;
151  virtual bool isStrong() const = 0;
152  virtual bool isEnumStruct() const = 0;
153  virtual bool isUnretained() const = 0;
154  virtual bool isNew() const = 0;
155  virtual bool isSealed() const = 0;
156  virtual bool isImplementation() const = 0;
157  virtual bool isExternal() const = 0;
158  virtual bool isTypeAlias() const = 0;
159  virtual bool isDefault() const = 0;
160  virtual bool isDelete() const = 0;
161  virtual bool isNoExcept() const = 0;
162  virtual bool isAttribute() const = 0; // UNO IDL attribute
163  virtual bool isUNOProperty() const = 0; // UNO IDL property
164  virtual bool isReadonly() const = 0;
165  virtual bool isBound() const = 0;
166  virtual bool isConstrained() const = 0;
167  virtual bool isTransient() const = 0;
168  virtual bool isMaybeVoid() const = 0;
169  virtual bool isMaybeDefault() const = 0;
170  virtual bool isMaybeAmbiguous() const = 0;
171  virtual bool isPublished() const = 0; // UNO IDL published
172  virtual bool isTemplateSpecialization() const = 0;
173  virtual bool isObjCMethod() const = 0;
174  virtual bool isObjCProperty() const = 0;
175  virtual bool isConstructor() const = 0;
176  virtual bool isDestructor() const = 0;
177  virtual bool hasOneLineInitializer() const = 0;
178  virtual bool hasMultiLineInitializer() const = 0;
179  virtual bool showInCallGraph() const = 0;
180  virtual bool isStrongEnumValue() const = 0;
181  virtual bool livesInsideEnum() const = 0;
182  virtual bool isSliceLocal() const = 0;
183  virtual bool isConstExpr() const = 0;
184  virtual int numberOfFlowKeyWords() const = 0;
185 
186  // derived getters
187  virtual bool isFriendToHide() const = 0;
188  virtual bool isNotFriend() const = 0;
189  virtual bool isFunctionOrSignalSlot() const = 0;
190  virtual bool isRelatedOrFriend() const = 0;
191 
192  // output info
193  virtual bool isLinkableInProject() const = 0;
194  virtual bool isLinkable() const = 0;
195  virtual bool hasDocumentation() const = 0; // overrides hasDocumentation in definition.h
196  //bool hasUserDocumentation() const = 0; // overrides hasUserDocumentation
197  virtual bool isDeleted() const = 0;
198  virtual bool isBriefSectionVisible() const = 0;
199  virtual bool isDetailedSectionVisible(MemberListContainer container) const = 0;
200  virtual bool hasDetailedDescription() const = 0;
201  virtual bool isFriendClass() const = 0;
202  virtual bool isDocumentedFriendClass() const = 0;
203 
204  virtual const MemberDef *reimplements() const = 0;
205  virtual const MemberVector &reimplementedBy() const = 0;
206  virtual bool isReimplementedBy(const ClassDef *cd) const = 0;
207 
208  virtual ClassDef *relatedAlso() const = 0;
209 
210  virtual bool hasDocumentedEnumValues() const = 0;
211  virtual const MemberDef *getAnonymousEnumType() const = 0;
212  virtual bool isDocsForDefinition() const = 0;
213  virtual const MemberDef *getEnumScope() const = 0;
214  virtual const MemberVector &enumFieldList() const = 0;
215  virtual QCString enumBaseType() const = 0;
216 
217  virtual bool hasExamples() const = 0;
218  virtual const ExampleList &getExamples() const = 0;
219  virtual bool isPrototype() const = 0;
220 
221  // argument related members
222  virtual const ArgumentList &argumentList() const = 0;
223  virtual const ArgumentList &declArgumentList() const = 0;
224  virtual const ArgumentList &templateArguments() const = 0;
225  virtual const ArgumentLists &definitionTemplateParameterLists() const = 0;
226 
227  // member group related members
228  virtual int getMemberGroupId() const = 0;
229  virtual MemberGroup *getMemberGroup() const = 0;
230 
231  virtual bool fromAnonymousScope() const = 0;
232  virtual bool anonymousDeclShown() const = 0;
233  virtual MemberDef *fromAnonymousMember() const = 0;
234 
235  // callgraph related members
236  virtual bool hasCallGraph() const = 0;
237  virtual bool hasCallerGraph() const = 0;
238  virtual bool visibleMemberGroup(bool hideNoHeader) const = 0;
239  // referenced related members
240  virtual bool hasReferencesRelation() const = 0;
241  virtual bool hasReferencedByRelation() const = 0;
242 
243  virtual const MemberDef *templateMaster() const = 0;
244  virtual QCString getScopeString() const = 0;
245  virtual ClassDef *getClassDefOfAnonymousType() const = 0;
246 
247  // cached typedef functions
248  virtual bool isTypedefValCached() const = 0;
249  virtual const ClassDef *getCachedTypedefVal() const = 0;
250  virtual QCString getCachedTypedefTemplSpec() const = 0;
251  virtual QCString getCachedResolvedTypedef() const = 0;
252 
253  virtual MemberDef *memberDefinition() const = 0;
254  virtual MemberDef *memberDeclaration() const = 0;
255  virtual const MemberDef *inheritsDocsFrom() const = 0;
256  virtual const MemberDef *getGroupAlias() const = 0;
257 
258  virtual ClassDef *category() const = 0;
259  virtual const MemberDef *categoryRelation() const = 0;
260 
261  virtual QCString displayName(bool=TRUE) const = 0;
262  virtual QCString getDeclType() const = 0;
263  virtual StringVector getLabels(const Definition *container) const = 0;
264 
265  virtual const ArgumentList &typeConstraints() const = 0;
266 
267  virtual QCString requiresClause() const = 0;
268 
269  // overrules
270  virtual QCString documentation() const = 0;
271  virtual QCString briefDescription(bool abbr=FALSE) const = 0;
272  virtual QCString fieldType() const = 0;
273  virtual bool isReference() const = 0;
274 
275  virtual QCString getDeclFileName() const = 0;
276  virtual int getDeclLine() const = 0;
277  virtual int getDeclColumn() const = 0;
278 
280  const std::unique_ptr<ArgumentList> &actualArgs) const = 0;
281  virtual void writeDeclaration(OutputList &ol,
282  const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,
283  bool inGroup, int indentLevel=0, const ClassDef *inheritFrom=0,const QCString &inheritId=QCString()) const = 0;
284  virtual void writeEnumDeclaration(OutputList &typeDecl, const ClassDef *cd,
285  const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd) const = 0;
286  virtual void detectUndocumentedParams(bool hasParamCommand,bool hasReturnCommand) const = 0;
287  virtual void warnIfUndocumented() const = 0;
288  virtual void warnIfUndocumentedParams() const = 0;
289  virtual bool visibleInIndex() const = 0;
290 
291  // TODO: this is not a getter, should be passed at construction
292  virtual void setMemberGroup(MemberGroup *grp) = 0;
293 
294 };
295 
297 {
298  public:
299 
300  //-----------------------------------------------------------------------------------
301  // ---- setters -----
302  //-----------------------------------------------------------------------------------
303 
304  // set functions
305  virtual void setMemberType(MemberType t) = 0;
306  virtual void setDefinition(const QCString &d) = 0;
307  virtual void setFileDef(const FileDef *fd) = 0;
308  virtual void setAnchor() = 0;
309  virtual void setProtection(Protection p) = 0;
310  virtual void setMemberSpecifiers(uint64 s) = 0;
311  virtual void mergeMemberSpecifiers(uint64 s) = 0;
312  virtual void setInitializer(const QCString &i) = 0;
313  virtual void setBitfields(const QCString &s) = 0;
314  virtual void setMaxInitLines(int lines) = 0;
315  virtual void setMemberClass(const ClassDef *cd) = 0;
316  virtual void setSectionList(const Definition *container,const MemberList *sl) = 0;
317  virtual void setGroupDef(const GroupDef *gd,Grouping::GroupPri_t pri,
318  const QCString &fileName,int startLine,bool hasDocs,
319  MemberDef *member=0) = 0;
320  virtual void setReadAccessor(const QCString &r) = 0;
321  virtual void setWriteAccessor(const QCString &w) = 0;
322  virtual void setTemplateSpecialization(bool b) = 0;
323 
324  virtual void makeRelated() = 0;
325  virtual void makeForeign() = 0;
326  virtual void setInheritsDocsFrom(const MemberDef *md) = 0;
327  virtual void setTagInfo(const TagInfo *i) = 0;
328  virtual void setArgsString(const QCString &as) = 0;
329  virtual void incrementFlowKeyWordCount() = 0;
330  virtual void setEnumBaseType(const QCString &type) = 0;
331 
332  // relation to other members
333  virtual void setReimplements(const MemberDef *md) = 0;
334  virtual void insertReimplementedBy(const MemberDef *md) = 0;
335 
336  virtual void setRelatedAlso(ClassDef *cd) = 0;
337 
338  // enumeration specific members
339  virtual void insertEnumField(const MemberDef *md) = 0;
340  virtual void setEnumScope(const MemberDef *md,bool livesInsideEnum=FALSE) = 0;
341  virtual void setEnumClassScope(const ClassDef *cd) = 0;
342  virtual void setDocumentedEnumValues(bool value) = 0;
343  virtual void setAnonymousEnumType(const MemberDef *md) = 0;
344 
345  // example related members
346  virtual bool addExample(const QCString &anchor,const QCString &name,const QCString &file) = 0;
347 
348  // prototype related members
349  virtual void setPrototype(bool p,const QCString &df,int line, int column) = 0;
350  virtual void setExplicitExternal(bool b,const QCString &df,int line,int column) = 0;
351  virtual void setDeclFile(const QCString &df,int line,int column) = 0;
352 
353  // argument related members
354  virtual void moveArgumentList(std::unique_ptr<ArgumentList> al) = 0;
355  virtual void moveDeclArgumentList(std::unique_ptr<ArgumentList> al) = 0;
356  virtual void resolveUnnamedParameters(const MemberDef *md) = 0;
357  virtual void setDefinitionTemplateParameterLists(const ArgumentLists &lists) = 0;
358  virtual void setTypeConstraints(const ArgumentList &al) = 0;
359  virtual void setType(const QCString &t) = 0;
360  virtual void setAccessorType(ClassDef *cd,const QCString &t) = 0;
361 
362  // namespace related members
363  virtual void setNamespace(const NamespaceDef *nd) = 0;
364 
365  // member group related members
366  virtual void setMemberGroupId(int id) = 0;
367  virtual void makeImplementationDetail() = 0;
368 
369  // anonymous scope members
370  virtual void setFromAnonymousMember(MemberDef *m) = 0;
371 
372  virtual void enableCallGraph(bool e) = 0;
373  virtual void enableCallerGraph(bool e) = 0;
374 
375  virtual void enableReferencedByRelation(bool e) = 0;
376  virtual void enableReferencesRelation(bool e) = 0;
377 
378  virtual void setTemplateMaster(const MemberDef *mt) = 0;
379  virtual void addListReference(Definition *d) = 0;
380  virtual void setDocsForDefinition(bool b) = 0;
381  virtual void setGroupAlias(const MemberDef *md) = 0;
382 
383  virtual void cacheTypedefVal(const ClassDef *val,const QCString &templSpec,const QCString &resolvedType) = 0;
384  virtual void invalidateTypedefValCache() = 0;
385 
386  virtual void invalidateCachedArgumentTypes() = 0;
387 
388  // declaration <-> definition relation
389  virtual void setMemberDefinition(MemberDef *md) = 0;
390  virtual void setMemberDeclaration(MemberDef *md) = 0;
391 
392  virtual void copyArgumentNames(const MemberDef *bmd) = 0;
393 
394  virtual void setCategory(ClassDef *) = 0;
395  virtual void setCategoryRelation(const MemberDef *) = 0;
396 
397  virtual void setDocumentation(const QCString &d,const QCString &docFile,int docLine,bool stripWhiteSpace=TRUE) = 0;
398  virtual void setBriefDescription(const QCString &b,const QCString &briefFile,int briefLine) = 0;
399  virtual void setInbodyDocumentation(const QCString &d,const QCString &inbodyFile,int inbodyLine) = 0;
400 
401  virtual void setHidden(bool b) = 0;
402 
403  virtual void setRequiresClause(const QCString &req) = 0;
404 
405  //-----------------------------------------------------------------------------------
406  // --- actions ----
407  //-----------------------------------------------------------------------------------
408 
409  virtual void findSectionsInDocumentation() = 0;
410  //virtual void addToSearchIndex() const = 0;
411 
412  //-----------------------------------------------------------------------------------
413  // --- write output ----
414  //-----------------------------------------------------------------------------------
415 
416  virtual void writeDocumentation(const MemberList *ml,int memCount,int memTotal,OutputList &ol,
417  const QCString &scopeName,const Definition *container,
418  bool inGroup,bool showEnumValues=FALSE,bool
419  showInline=FALSE) const = 0;
420  virtual void writeMemberDocSimple(OutputList &ol,const Definition *container) const = 0;
421  virtual void writeTagFile(TextStream &) const = 0;
422  virtual void writeLink(OutputList &ol,
423  const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,
424  bool onlyText=FALSE) const = 0;
425 
426  // write helpers
427  virtual void setAnonymousUsed() const = 0;
428  virtual void setFromAnonymousScope(bool b) const = 0;
429 
430 };
431 
433 {
434  return toClassDefMutable(getClassDef());
435 }
436 
437 // --- Cast functions
438 
441 const MemberDef *toMemberDef(const Definition *d);
444 
445 //------------------------------------------------------------------------
446 
447 
448 /** Factory method to create a new instance of a MemberDef */
449 MemberDefMutable *createMemberDef(const QCString &defFileName,int defLine,int defColumn,
450  const QCString &type,const QCString &name,const QCString &args,
451  const QCString &excp,Protection prot,Specifier virt,bool stat,
452  Relationship related,MemberType t,const ArgumentList &tal,
453  const ArgumentList &al,const QCString &metaData);
454 
455 MemberDef *createMemberDefAlias(const Definition *newScope,const MemberDef *aliasMd);
456 
459 
460 #endif
StringVector
std::vector< std::string > StringVector
Definition: containers.h:32
MemberDefMutable::setTemplateSpecialization
virtual void setTemplateSpecialization(bool b)=0
MemberDefMutable::setTagInfo
virtual void setTagInfo(const TagInfo *i)=0
MemberDef::isDCOP
virtual bool isDCOP() const =0
MemberDefMutable::setEnumScope
virtual void setEnumScope(const MemberDef *md, bool livesInsideEnum=FALSE)=0
MemberDef::isTypedef
virtual bool isTypedef() const =0
MemberDef::deepCopy
virtual MemberDef * deepCopy() const =0
TagInfo
This struct is used to capture the tag file information for an Entry.
Definition: entry.h:48
MemberDef::getDeclColumn
virtual int getDeclColumn() const =0
MemberDefMutable::setHidden
virtual void setHidden(bool b)=0
Definition::docLine
virtual int docLine() const =0
MemberDefMutable::mergeMemberSpecifiers
virtual void mergeMemberSpecifiers(uint64 s)=0
MemberDef::getDeclLine
virtual int getDeclLine() const =0
MemberDefMutable::addListReference
virtual void addListReference(Definition *d)=0
ClassDefMutable
Definition: classdef.h:384
addDocCrossReference
void addDocCrossReference(MemberDefMutable *src, MemberDefMutable *dst)
Definition: memberdef.cpp:6047
MemberDef::isConstrained
virtual bool isConstrained() const =0
MemberDef::hasReferencedByRelation
virtual bool hasReferencedByRelation() const =0
Protection
Protection
Protection level of members
Definition: types.h:26
MemberDefMutable::setInitializer
virtual void setInitializer(const QCString &i)=0
MemberDef::argsString
virtual QCString argsString() const =0
MemberDefMutable::setTypeConstraints
virtual void setTypeConstraints(const ArgumentList &al)=0
MemberDef::briefDescription
virtual QCString briefDescription(bool abbr=FALSE) const =0
MemberDef::isDestructor
virtual bool isDestructor() const =0
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
MemberDef::documentation
virtual QCString documentation() const =0
MemberDef::isSignal
virtual bool isSignal() const =0
MemberDef::isObjCProperty
virtual bool isObjCProperty() const =0
MemberDef::isDefault
virtual bool isDefault() const =0
MemberDefMutable::setWriteAccessor
virtual void setWriteAccessor(const QCString &w)=0
MemberDef::isStatic
virtual bool isStatic() const =0
NamespaceDef
An abstract interface of a namespace symbol.
Definition: namespacedef.h:54
MemberDefMutable::setAccessorType
virtual void setAccessorType(ClassDef *cd, const QCString &t)=0
types.h
This file contains a number of basic enums and types.
MemberDefMutable::cacheTypedefVal
virtual void cacheTypedefVal(const ClassDef *val, const QCString &templSpec, const QCString &resolvedType)=0
MemberDef::isMaybeDefault
virtual bool isMaybeDefault() const =0
MemberDef::getMemberGroupId
virtual int getMemberGroupId() const =0
MemberDefMutable::makeRelated
virtual void makeRelated()=0
MemberDef::getGroupPri
virtual Grouping::GroupPri_t getGroupPri() const =0
MemberDef::isMaybeVoid
virtual bool isMaybeVoid() const =0
MemberDef::numberOfFlowKeyWords
virtual int numberOfFlowKeyWords() const =0
ArgumentList
This class represents an function or template argument list.
Definition: arguments.h:59
MemberDef::isAttribute
virtual bool isAttribute() const =0
MemberDef::writeEnumDeclaration
virtual void writeEnumDeclaration(OutputList &typeDecl, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd) const =0
MemberDef::getGroupFileName
virtual QCString getGroupFileName() const =0
MemberDef::isInitonly
virtual bool isInitonly() const =0
MemberDef::getLabels
virtual StringVector getLabels(const Definition *container) const =0
MemberDef::hasDocumentedEnumValues
virtual bool hasDocumentedEnumValues() const =0
MemberDefMutable::setBitfields
virtual void setBitfields(const QCString &s)=0
MemberDef::inheritsDocsFrom
virtual const MemberDef * inheritsDocsFrom() const =0
MemberDef::getMemberGroup
virtual MemberGroup * getMemberGroup() const =0
MemberDef::isNonAtomic
virtual bool isNonAtomic() const =0
MemberDef::getClassDefOfAnonymousType
virtual ClassDef * getClassDefOfAnonymousType() const =0
MemberDef::getAnonymousEnumType
virtual const MemberDef * getAnonymousEnumType() const =0
MemberDef::bitfieldString
virtual QCString bitfieldString() const =0
MemberDef::hasMultiLineInitializer
virtual bool hasMultiLineInitializer() const =0
MemberDefMutable::setArgsString
virtual void setArgsString(const QCString &as)=0
MemberDefMutable::setType
virtual void setType(const QCString &t)=0
MemberDef::typeConstraints
virtual const ArgumentList & typeConstraints() const =0
MemberDef::isPrototype
virtual bool isPrototype() const =0
MemberDefMutable::setAnonymousUsed
virtual void setAnonymousUsed() const =0
MemberDefMutable::setMemberClass
virtual void setMemberClass(const ClassDef *cd)=0
MemberDef::isDelete
virtual bool isDelete() const =0
MemberDef::isInline
virtual bool isInline() const =0
MemberDefMutable::setCategoryRelation
virtual void setCategoryRelation(const MemberDef *)=0
Specifier
Specifier
Virtualness of a member.
Definition: types.h:29
MemberDef::isFriendClass
virtual bool isFriendClass() const =0
MemberDefMutable::setRequiresClause
virtual void setRequiresClause(const QCString &req)=0
MemberDefMutable::setMemberType
virtual void setMemberType(MemberType t)=0
MemberDefMutable::insertEnumField
virtual void insertEnumField(const MemberDef *md)=0
MemberDef::definitionType
virtual DefType definitionType() const =0
MemberDefMutable::makeImplementationDetail
virtual void makeImplementationDetail()=0
MemberDef::isProtectedGettable
virtual bool isProtectedGettable() const =0
MemberDefMutable::setSectionList
virtual void setSectionList(const Definition *container, const MemberList *sl)=0
MemberDef::isRetain
virtual bool isRetain() const =0
MemberDef::accessorClass
virtual const ClassDef * accessorClass() const =0
MemberType
MemberType
Definition: types.h:274
Definition::inbodyLine
virtual int inbodyLine() const =0
MemberDefMutable::setDocsForDefinition
virtual void setDocsForDefinition(bool b)=0
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
MemberDefMutable::insertReimplementedBy
virtual void insertReimplementedBy(const MemberDef *md)=0
Definition::briefLine
virtual int briefLine() const =0
MemberDef::isDictionary
virtual bool isDictionary() const =0
MemberDef::getGroupAlias
virtual const MemberDef * getGroupAlias() const =0
MemberDefMutable::setBriefDescription
virtual void setBriefDescription(const QCString &b, const QCString &briefFile, int briefLine)=0
MemberDefMutable
Definition: memberdef.h:296
MemberDef::isProperty
virtual bool isProperty() const =0
MemberDef::isWeak
virtual bool isWeak() const =0
MemberDef::anonymousDeclShown
virtual bool anonymousDeclShown() const =0
MemberDef::isSliceLocal
virtual bool isSliceLocal() const =0
Definition::docFile
virtual QCString docFile() const =0
MemberDef::getReference
virtual QCString getReference() const =0
MemberDef::hasExamples
virtual bool hasExamples() const =0
MemberDef::showInCallGraph
virtual bool showInCallGraph() const =0
MemberDefMutable::setGroupAlias
virtual void setGroupAlias(const MemberDef *md)=0
MemberDef::isObjCMethod
virtual bool isObjCMethod() const =0
MemberDef::isSequence
virtual bool isSequence() const =0
MemberDef::getReadAccessor
virtual QCString getReadAccessor() const =0
MemberDefMutable::writeTagFile
virtual void writeTagFile(TextStream &) const =0
MemberDef::isLinkable
virtual bool isLinkable() const =0
MemberDef::isConstExpr
virtual bool isConstExpr() const =0
MemberDef::isStrongEnumValue
virtual bool isStrongEnumValue() const =0
MemberDef::isBriefSectionVisible
virtual bool isBriefSectionVisible() const =0
GroupDef
A model of a group of symbols.
Definition: groupdef.h:49
MemberDef::isNew
virtual bool isNew() const =0
MemberDefMutable::setMemberGroupId
virtual void setMemberGroupId(int id)=0
MemberDef::isTypedefValCached
virtual bool isTypedefValCached() const =0
MemberDefMutable::setMaxInitLines
virtual void setMaxInitLines(int lines)=0
MemberDef::~MemberDef
virtual ~MemberDef()
Definition: memberdef.h:48
MemberDef::anchor
virtual QCString anchor() const =0
MemberDef::isRequired
virtual bool isRequired() const =0
MemberDef::definitionTemplateParameterLists
virtual const ArgumentLists & definitionTemplateParameterLists() const =0
OutputList
Class representing a list of output generators that are written to in parallel.
Definition: outputlist.h:37
MemberDefMutable::setProtection
virtual void setProtection(Protection p)=0
MemberDef::memberDeclaration
virtual MemberDef * memberDeclaration() const =0
MemberDef
A model of a class/file/namespace member symbol.
Definition: memberdef.h:45
MemberDef::hasCallerGraph
virtual bool hasCallerGraph() const =0
MemberDefMutable::setMemberSpecifiers
virtual void setMemberSpecifiers(uint64 s)=0
MemberDefMutable::setMemberDefinition
virtual void setMemberDefinition(MemberDef *md)=0
ClassDef
A abstract class representing of a compound symbol.
Definition: classdef.h:103
MemberDef::getCachedTypedefVal
virtual const ClassDef * getCachedTypedefVal() const =0
MemberDef::createTemplateInstanceMember
virtual MemberDefMutable * createTemplateInstanceMember(const ArgumentList &formalArgs, const std::unique_ptr< ArgumentList > &actualArgs) const =0
MemberDef::fromAnonymousMember
virtual MemberDef * fromAnonymousMember() const =0
MemberDef::isFriend
virtual bool isFriend() const =0
MemberDef::relatedAlso
virtual ClassDef * relatedAlso() const =0
MemberDef::excpString
virtual QCString excpString() const =0
MemberDefMutable::setEnumBaseType
virtual void setEnumBaseType(const QCString &type)=0
MemberDef::isDefine
virtual bool isDefine() const =0
MemberDef::virtualness
virtual Specifier virtualness(int count=0) const =0
MemberDefMutable::setDefinitionTemplateParameterLists
virtual void setDefinitionTemplateParameterLists(const ArgumentLists &lists)=0
MemberDef::isRaisable
virtual bool isRaisable() const =0
MemberDef::isVariable
virtual bool isVariable() const =0
MemberDef::enumFieldList
virtual const MemberVector & enumFieldList() const =0
DefinitionMutable
Definition: definition.h:308
MemberDef::isNotFriend
virtual bool isNotFriend() const =0
MemberDef::getGroupHasDocs
virtual bool getGroupHasDocs() const =0
MemberDef::isConstructor
virtual bool isConstructor() const =0
MemberDef::initializerLines
virtual int initializerLines() const =0
MemberDef::isReference
virtual bool isReference() const =0
MemberDef::isSlot
virtual bool isSlot() const =0
arguments.h
MemberDefMutable::setPrototype
virtual void setPrototype(bool p, const QCString &df, int line, int column)=0
MemberDef::isReimplementedBy
virtual bool isReimplementedBy(const ClassDef *cd) const =0
MemberDef::isFriendToHide
virtual bool isFriendToHide() const =0
MemberDefMutable::setMemberDeclaration
virtual void setMemberDeclaration(MemberDef *md)=0
Definition::name
virtual QCString name() const =0
MemberDef::getClassDefMutable
ClassDefMutable * getClassDefMutable() const
Definition: memberdef.h:432
MemberDef::visibleMemberGroup
virtual bool visibleMemberGroup(bool hideNoHeader) const =0
MemberDef::fromAnonymousScope
virtual bool fromAnonymousScope() const =0
MemberDef::isRelatedOrFriend
virtual bool isRelatedOrFriend() const =0
MemberDef::isDocumentedFriendClass
virtual bool isDocumentedFriendClass() const =0
Definition::inbodyFile
virtual QCString inbodyFile() const =0
MemberDef::resolveAlias
virtual MemberDef * resolveAlias()=0
MemberDef::definition
virtual QCString definition() const =0
MemberDef::getClassDef
virtual const ClassDef * getClassDef() const =0
MemberDefMutable::setInbodyDocumentation
virtual void setInbodyDocumentation(const QCString &d, const QCString &inbodyFile, int inbodyLine)=0
MemberDefMutable::setAnchor
virtual void setAnchor()=0
Grouping::GroupPri_t
GroupPri_t
Grouping priority
Definition: types.h:67
MemberDef::isFinal
virtual bool isFinal() const =0
MemberDef::templateMaster
virtual const MemberDef * templateMaster() const =0
MemberDef::getExamples
virtual const ExampleList & getExamples() const =0
MemberDef::isMutable
virtual bool isMutable() const =0
MemberDef::hasDocumentation
virtual bool hasDocumentation() const =0
MemberListContainer
MemberListContainer
Definition: types.h:196
MemberDefMutable::enableReferencesRelation
virtual void enableReferencesRelation(bool e)=0
MemberDefMutable::setCategory
virtual void setCategory(ClassDef *)=0
MemberDef::isFunction
virtual bool isFunction() const =0
MemberDefMutable::setGroupDef
virtual void setGroupDef(const GroupDef *gd, Grouping::GroupPri_t pri, const QCString &fileName, int startLine, bool hasDocs, MemberDef *member=0)=0
MemberDef::warnIfUndocumented
virtual void warnIfUndocumented() const =0
toMemberDefMutable
MemberDefMutable * toMemberDefMutable(Definition *d)
Definition: memberdef.cpp:6125
MemberDefMutable::setReadAccessor
virtual void setReadAccessor(const QCString &r)=0
TRUE
#define TRUE
Definition: qcstring.h:36
MemberVector
A vector of MemberDef object
Definition: memberlist.h:32
MemberDef::getNamespaceDef
virtual const NamespaceDef * getNamespaceDef() const =0
MemberDef::isDeleted
virtual bool isDeleted() const =0
MemberDef::isPublished
virtual bool isPublished() const =0
MemberDefMutable::invalidateTypedefValCache
virtual void invalidateTypedefValCache()=0
MemberDef::memberTypeName
virtual QCString memberTypeName() const =0
MemberDef::detectUndocumentedParams
virtual void detectUndocumentedParams(bool hasParamCommand, bool hasReturnCommand) const =0
MemberDef::reimplements
virtual const MemberDef * reimplements() const =0
MemberDef::isTypeAlias
virtual bool isTypeAlias() const =0
MemberDef::protection
virtual Protection protection() const =0
MemberDefMutable::setInheritsDocsFrom
virtual void setInheritsDocsFrom(const MemberDef *md)=0
MemberDef::writeDeclaration
virtual void writeDeclaration(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, bool inGroup, int indentLevel=0, const ClassDef *inheritFrom=0, const QCString &inheritId=QCString()) const =0
Definition::DefType
DefType
Definition: definition.h:85
MemberDefMutable::setFromAnonymousScope
virtual void setFromAnonymousScope(bool b) const =0
MemberDefMutable::setDocumentedEnumValues
virtual void setDocumentedEnumValues(bool value)=0
MemberDef::isStrong
virtual bool isStrong() const =0
MemberDef::isWritable
virtual bool isWritable() const =0
MemberDef::visibleInIndex
virtual bool visibleInIndex() const =0
MemberDefMutable::copyArgumentNames
virtual void copyArgumentNames(const MemberDef *bmd)=0
MemberDefMutable::invalidateCachedArgumentTypes
virtual void invalidateCachedArgumentTypes()=0
createMemberDefAlias
MemberDef * createMemberDefAlias(const Definition *newScope, const MemberDef *aliasMd)
Definition: memberdef.cpp:781
MemberDefMutable::setNamespace
virtual void setNamespace(const NamespaceDef *nd)=0
MemberDef::memberDefinition
virtual MemberDef * memberDefinition() const =0
MemberDef::declaration
virtual QCString declaration() const =0
MemberDef::getDeclFileName
virtual QCString getDeclFileName() const =0
createMemberDef
MemberDefMutable * createMemberDef(const QCString &defFileName, int defLine, int defColumn, const QCString &type, const QCString &name, const QCString &args, const QCString &excp, Protection prot, Specifier virt, bool stat, Relationship related, MemberType t, const ArgumentList &tal, const ArgumentList &al, const QCString &metaData)
Factory method to create a new instance of a MemberDef
Definition: memberdef.cpp:373
Definition::briefFile
virtual QCString briefFile() const =0
MemberDef::hasOneLineInitializer
virtual bool hasOneLineInitializer() const =0
MemberDef::isForeign
virtual bool isForeign() const =0
MemberDef::isAbstract
virtual bool isAbstract() const =0
MemberDef::getMemberSpecifiers
virtual uint64 getMemberSpecifiers() const =0
MemberDef::getSectionList
virtual const MemberList * getSectionList(const Definition *container) const =0
MemberDef::isSettable
virtual bool isSettable() const =0
MemberDef::qualifiedName
virtual QCString qualifiedName() const =0
MemberDef::reimplementedBy
virtual const MemberVector & reimplementedBy() const =0
ArgumentLists
std::vector< ArgumentList > ArgumentLists
Definition: arguments.h:138
MemberDefMutable::setFromAnonymousMember
virtual void setFromAnonymousMember(MemberDef *m)=0
MemberDefMutable::setDeclFile
virtual void setDeclFile(const QCString &df, int line, int column)=0
classdef.h
MemberDef::isAddable
virtual bool isAddable() const =0
MemberDefMutable::writeDocumentation
virtual void writeDocumentation(const MemberList *ml, int memCount, int memTotal, OutputList &ol, const QCString &scopeName, const Definition *container, bool inGroup, bool showEnumValues=FALSE, bool showInline=FALSE) const =0
MemberDef::getDeclType
virtual QCString getDeclType() const =0
MemberDefMutable::setRelatedAlso
virtual void setRelatedAlso(ClassDef *cd)=0
MemberDef::isLinkableInProject
virtual bool isLinkableInProject() const =0
MemberDef::isTemplateSpecialization
virtual bool isTemplateSpecialization() const =0
MemberDef::fieldType
virtual QCString fieldType() const =0
MemberDefMutable::enableReferencedByRelation
virtual void enableReferencedByRelation(bool e)=0
MemberDef::templateArguments
virtual const ArgumentList & templateArguments() const =0
MemberDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
MemberDef::isEnumStruct
virtual bool isEnumStruct() const =0
MemberDef::isPrivateGettable
virtual bool isPrivateGettable() const =0
MemberDef::getCachedResolvedTypedef
virtual QCString getCachedResolvedTypedef() const =0
MemberDefMutable::enableCallGraph
virtual void enableCallGraph(bool e)=0
MemberDef::isRemovable
virtual bool isRemovable() const =0
MemberDefMutable::moveDeclArgumentList
virtual void moveDeclArgumentList(std::unique_ptr< ArgumentList > al)=0
MemberDef::categoryRelation
virtual const MemberDef * categoryRelation() const =0
MemberDefMutable::findSectionsInDocumentation
virtual void findSectionsInDocumentation()=0
MemberDef::objCMethodName
virtual QCString objCMethodName(bool localLink, bool showStatic) const =0
MemberDef::isDocsForDefinition
virtual bool isDocsForDefinition() const =0
MemberDef::getEnumScope
virtual const MemberDef * getEnumScope() const =0
MemberDef::getScopeString
virtual QCString getScopeString() const =0
definition.h
MemberDefMutable::setDocumentation
virtual void setDocumentation(const QCString &d, const QCString &docFile, int docLine, bool stripWhiteSpace=TRUE)=0
MemberDef::isEnumerate
virtual bool isEnumerate() const =0
MemberDef::isUNOProperty
virtual bool isUNOProperty() const =0
MemberDef::isExternal
virtual bool isExternal() const =0
MemberDef::displayName
virtual QCString displayName(bool=TRUE) const =0
MemberDefMutable::makeForeign
virtual void makeForeign()=0
MemberDef::isSealed
virtual bool isSealed() const =0
MemberDef::declArgumentList
virtual const ArgumentList & declArgumentList() const =0
MemberDef::livesInsideEnum
virtual bool livesInsideEnum() const =0
MemberDef::isReadonly
virtual bool isReadonly() const =0
MemberDef::isExplicit
virtual bool isExplicit() const =0
MemberGroupList
Definition: membergroup.h:109
MemberDef::isEnumValue
virtual bool isEnumValue() const =0
MemberDef::moveTo
virtual void moveTo(Definition *)=0
MemberDef::isOverride
virtual bool isOverride() const =0
MemberDef::isFunctionPtr
virtual bool isFunctionPtr() const =0
MemberDef::getFileDef
virtual const FileDef * getFileDef() const =0
MemberDef::displayDefinition
virtual QCString displayDefinition() const =0
MemberDef::isImplementation
virtual bool isImplementation() const =0
MemberDef::hasCallGraph
virtual bool hasCallGraph() const =0
MemberDef::isFunctionOrSignalSlot
virtual bool isFunctionOrSignalSlot() const =0
MemberDef::isDetailedSectionVisible
virtual bool isDetailedSectionVisible(MemberListContainer container) const =0
MemberDef::argumentList
virtual const ArgumentList & argumentList() const =0
MemberDef::setMemberGroup
virtual void setMemberGroup(MemberGroup *grp)=0
MemberDef::extraTypeChars
virtual QCString extraTypeChars() const =0
MemberDefMutable::resolveUnnamedParameters
virtual void resolveUnnamedParameters(const MemberDef *md)=0
MemberDef::category
virtual ClassDef * category() const =0
MemberDef::isGettable
virtual bool isGettable() const =0
FileDef
A model of a file symbol.
Definition: filedef.h:73
MemberGroup
A class representing a group of members.
Definition: membergroup.h:41
MemberDef::enumBaseType
virtual QCString enumBaseType() const =0
MemberDef::getGroupStartLine
virtual int getGroupStartLine() const =0
MemberDefMutable::moveArgumentList
virtual void moveArgumentList(std::unique_ptr< ArgumentList > al)=0
MemberDef::getWriteAccessor
virtual QCString getWriteAccessor() const =0
MemberDef::isNoExcept
virtual bool isNoExcept() const =0
MemberDefMutable::setExplicitExternal
virtual void setExplicitExternal(bool b, const QCString &df, int line, int column)=0
MemberDef::isReadable
virtual bool isReadable() const =0
toClassDefMutable
ClassDefMutable * toClassDefMutable(Definition *d)
Definition: classdef.cpp:4944
MemberDef::isMaybeAmbiguous
virtual bool isMaybeAmbiguous() const =0
MemberDefMutable::setDefinition
virtual void setDefinition(const QCString &d)=0
MemberDef::hasReferencesRelation
virtual bool hasReferencesRelation() const =0
toMemberDef
MemberDef * toMemberDef(Definition *d)
Definition: memberdef.cpp:6088
MemberDefMutable::incrementFlowKeyWordCount
virtual void incrementFlowKeyWordCount()=0
MemberDefMutable::enableCallerGraph
virtual void enableCallerGraph(bool e)=0
MemberDef::isCopy
virtual bool isCopy() const =0
MemberDef::isOptional
virtual bool isOptional() const =0
MemberDef::initializer
virtual const QCString & initializer() const =0
MemberDef::isUnretained
virtual bool isUnretained() const =0
MemberDefMutable::setFileDef
virtual void setFileDef(const FileDef *fd)=0
MemberDef::isRelated
virtual bool isRelated() const =0
MemberDef::typeString
virtual QCString typeString() const =0
MemberDefMutable::setEnumClassScope
virtual void setEnumClassScope(const ClassDef *cd)=0
MemberDefMutable::writeLink
virtual void writeLink(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, bool onlyText=FALSE) const =0
MemberDef::isPrivateSettable
virtual bool isPrivateSettable() const =0
MemberDef::requiresClause
virtual QCString requiresClause() const =0
MemberDefMutable::setTemplateMaster
virtual void setTemplateMaster(const MemberDef *mt)=0
Relationship
Relationship
Kind of member relationship
Definition: types.h:38
MemberDefMutable::setReimplements
virtual void setReimplements(const MemberDef *md)=0
MemberList
A list of MemberDef objects as shown in documentation sections.
Definition: memberlist.h:81
MemberDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
uint64
uint64_t uint64
Definition: qcstring.h:43
combineDeclarationAndDefinition
void combineDeclarationAndDefinition(MemberDefMutable *mdec, MemberDefMutable *mdef)
Definition: memberdef.cpp:5818
MemberDefMutable::setAnonymousEnumType
virtual void setAnonymousEnumType(const MemberDef *md)=0
MemberDef::isEvent
virtual bool isEvent() const =0
MemberDef::memberType
virtual MemberType memberType() const =0
MemberDef::warnIfUndocumentedParams
virtual void warnIfUndocumentedParams() const =0
ExampleList
Definition: example.h:36
MemberDef::isBound
virtual bool isBound() const =0
MemberDef::isProtectedSettable
virtual bool isProtectedSettable() const =0
MemberDef::getGroupDef
virtual const GroupDef * getGroupDef() const =0
MemberDef::isTransient
virtual bool isTransient() const =0
MemberDef::isAssign
virtual bool isAssign() const =0
FALSE
#define FALSE
Definition: qcstring.h:33
MemberDef::getCachedTypedefTemplSpec
virtual QCString getCachedTypedefTemplSpec() const =0
MemberDefMutable::addExample
virtual bool addExample(const QCString &anchor, const QCString &name, const QCString &file)=0
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108
MemberDefMutable::writeMemberDocSimple
virtual void writeMemberDocSimple(OutputList &ol, const Definition *container) const =0