53 virtual std::unique_ptr<MemberDef>
deepCopy() const =0;
54 virtual
void moveTo(Definition *) = 0;
75 virtual const MemberList *
getSectionList(const Definition *container) const = 0;
282 const std::unique_ptr<ArgumentList> &actualArgs) const = 0;
284 const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,const ModuleDef *md,
285 bool inGroup,
int indentLevel=0, const ClassDef *inheritFrom=
nullptr,const QCString &inheritId=QCString()) const = 0;
287 const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,const ModuleDef *mod) const = 0;
289 const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,const ModuleDef *md,
290 bool onlyText=
FALSE) const = 0;
301class MemberDefMutable : public DefinitionMutable, public MemberDef
312 virtual
void setDefinition(const QCString &d) = 0;
313 virtual
void setFileDef(FileDef *fd) = 0;
314 virtual
void setAnchor() = 0;
316 virtual
void setMemberSpecifiers(TypeSpecifier s) = 0;
318 virtual
void mergeMemberSpecifiers(TypeSpecifier s) = 0;
319 virtual
void setInitializer(const QCString &i) = 0;
320 virtual
void setBitfields(const QCString &s) = 0;
321 virtual
void setMaxInitLines(
int lines) = 0;
322 virtual
void setMemberClass(ClassDef *cd) = 0;
323 virtual
void setSectionList(const Definition *container,const MemberList *sl) = 0;
324 virtual
void setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,
325 const QCString &fileName,
int startLine,
bool hasDocs,
326 MemberDef *member=
nullptr) = 0;
327 virtual
void setReadAccessor(const QCString &r) = 0;
328 virtual
void setWriteAccessor(const QCString &w) = 0;
329 virtual
void setTemplateSpecialization(
bool b) = 0;
331 virtual
void makeRelated() = 0;
332 virtual
void makeForeign() = 0;
333 virtual
void setInheritsDocsFrom(const MemberDef *md) = 0;
334 virtual
void setTagInfo(const TagInfo *i) = 0;
335 virtual
void setArgsString(const QCString &as) = 0;
337 virtual
void setEnumBaseType(const QCString &type) = 0;
340 virtual
void setReimplements(MemberDef *md) = 0;
341 virtual
void insertReimplementedBy(MemberDef *md) = 0;
343 virtual
void setRelatedAlso(ClassDef *cd) = 0;
346 virtual
void insertEnumField(MemberDef *md) = 0;
348 virtual
void setEnumClassScope(ClassDef *cd) = 0;
349 virtual
void setDocumentedEnumValues(
bool value) = 0;
353 virtual
bool addExample(const QCString &
anchor,const QCString &
name,const QCString &file) = 0;
356 virtual
void setPrototype(
bool p,const QCString &df,
int line,
int column) = 0;
357 virtual
void setExplicitExternal(
bool b,const QCString &df,
int line,
int column) = 0;
358 virtual
void setDeclFile(const QCString &df,
int line,
int column) = 0;
361 virtual
void moveArgumentList(std::unique_ptr<ArgumentList> al) = 0;
362 virtual
void moveDeclArgumentList(std::unique_ptr<ArgumentList> al) = 0;
363 virtual
void resolveUnnamedParameters(const MemberDef *md) = 0;
364 virtual
void setDefinitionTemplateParameterLists(const
ArgumentLists &lists) = 0;
365 virtual
void setTypeConstraints(const ArgumentList &al) = 0;
366 virtual
void setType(const QCString &t) = 0;
367 virtual
void setAccessorType(ClassDef *cd,const QCString &t) = 0;
370 virtual
void setNamespace(NamespaceDef *nd) = 0;
373 virtual
void setMemberGroupId(
int id) = 0;
374 virtual
void makeImplementationDetail() = 0;
377 virtual
void setFromAnonymousMember(MemberDef *m) = 0;
379 virtual
void overrideCallGraph(
bool e) = 0;
380 virtual
void overrideCallerGraph(
bool e) = 0;
381 virtual
void overrideReferencedByRelation(
bool e) = 0;
382 virtual
void overrideReferencesRelation(
bool e) = 0;
383 virtual
void overrideInlineSource(
bool e) = 0;
384 virtual
void overrideEnumValues(
bool e) = 0;
386 virtual
void setTemplateMaster(MemberDef *mt) = 0;
387 virtual
void setFormalTemplateArguments(const ArgumentList &al) = 0;
388 virtual
void addListReference(Definition *d) = 0;
389 virtual
void setDocsForDefinition(
bool b) = 0;
390 virtual
void setGroupAlias(const MemberDef *md) = 0;
392 virtual
void cacheTypedefVal(const ClassDef *val,const QCString &templSpec,const QCString &resolvedType) = 0;
393 virtual
void invalidateTypedefValCache() = 0;
395 virtual
void invalidateCachedArgumentTypes() = 0;
398 virtual
void setMemberDefinition(MemberDef *md) = 0;
399 virtual
void setMemberDeclaration(MemberDef *md) = 0;
401 virtual
void copyArgumentNames(const MemberDef *bmd) = 0;
403 virtual
void setCategory(ClassDef *) = 0;
404 virtual
void setCategoryRelation(const MemberDef *) = 0;
406 virtual
void setRequiresClause(const QCString &req) = 0;
410 virtual
void setModuleDef(ModuleDef *mod) = 0;
419 virtual ClassDefMutable *getClassDefMutable() = 0;
425 virtual
void writeDocumentation(const MemberList *ml,
int memCount,
int memTotal,OutputList &ol,
426 const QCString &scopeName,const Definition *container,
427 bool inGroup,
bool showEnumValues=
FALSE,
bool
428 showInline=
FALSE) const = 0;
429 virtual
void writeMemberDocSimple(OutputList &ol,const Definition *container) const = 0;
430 virtual
void writeTagFile(TextStream &,
bool useQualifiedName,
bool showNamespaceMembers) const = 0;
433 virtual
void setFromAnonymousScope(
bool b) = 0;
448std::unique_ptr<MemberDef>
createMemberDef(const QCString &defFileName,
int defLine,
int defColumn,
449 const QCString &type,const QCString &
name,const QCString &args,
452 const ArgumentList &al,const QCString &metaData);
454std::unique_ptr<MemberDef>
createMemberDefAlias(const Definition *newScope,const MemberDef *aliasMd);
std::vector< ArgumentList > ArgumentLists
The common base class of all entity definitions found in the sources.
virtual QCString anchor() const =0
virtual const QCString & name() const =0
A model of a file symbol.
A model of a group of symbols.
A model of a class/file/namespace member symbol.
virtual QCString typeString() const =0
virtual bool isConstExpr() const =0
virtual bool getGroupHasDocs() const =0
virtual const MemberDef * getAnonymousEnumType() const =0
virtual bool isConstEval() const =0
virtual bool isInitonly() const =0
virtual bool isSignal() const =0
virtual bool isNoExcept() const =0
virtual QCString requiresClause() const =0
virtual bool isDestructor() const =0
virtual bool hasDetailedDescription() const =0
virtual bool isAssign() const =0
virtual bool isExplicit() const =0
virtual MemberDef * memberDefinition() const =0
virtual bool isNew() const =0
virtual QCString declaration() const =0
virtual QCString getCachedResolvedTypedef() const =0
virtual void warnIfUndocumented() const =0
virtual bool isObjCMethod() const =0
virtual bool hasDocumentedEnumValues() const =0
virtual MemberDef * memberDeclaration() const =0
virtual bool isMaybeVoid() const =0
virtual bool isConstructor() const =0
virtual bool isFriend() const =0
virtual void writeEnumDeclaration(OutputList &typeDecl, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *mod) const =0
virtual const ClassDef * accessorClass() const =0
virtual bool isForeign() const =0
virtual bool isSealed() const =0
virtual QCString definition() const =0
virtual bool hasExamples() const =0
virtual QCString enumBaseType() const =0
virtual bool isDelete() const =0
virtual void writeDeclaration(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *md, bool inGroup, int indentLevel=0, const ClassDef *inheritFrom=nullptr, const QCString &inheritId=QCString()) const =0
virtual int numberOfFlowKeyWords() const =0
virtual const MemberDef * inheritsDocsFrom() const =0
virtual bool isDefault() const =0
virtual bool isRelated() const =0
virtual bool isDocumentedFriendClass() const =0
virtual bool isConstInit() const =0
virtual bool fromAnonymousScope() const =0
virtual bool isDeleted() const =0
virtual const ClassDef * getCachedTypedefVal() const =0
virtual bool isRelatedOrFriend() const =0
virtual QCString fieldType() const =0
virtual QCString excpString() const =0
virtual bool isSequence() const =0
virtual bool isEnumStruct() const =0
virtual const ClassDef * getClassDef() const =0
virtual bool visibleInIndex() const =0
virtual const MemberDef * getGroupAlias() const =0
virtual bool isOverride() const =0
virtual bool hasReferencesRelation() const =0
virtual const ArgumentList & templateArguments() const =0
virtual GroupDef * getGroupDef()=0
virtual bool isSettable() const =0
virtual MemberDef * fromAnonymousMember() const =0
virtual bool isCSharpProperty() const =0
virtual bool isRetain() const =0
virtual bool isAddable() const =0
virtual bool isTypedef() const =0
virtual ClassDef * category() const =0
virtual bool isSlot() const =0
virtual const MemberVector & enumFieldList() const =0
virtual bool hasCallGraph() const =0
virtual void moveTo(Definition *)=0
virtual const FileDef * getFileDef() const =0
virtual bool isInline() const =0
virtual bool isEvent() const =0
virtual const ArgumentList & argumentList() const =0
virtual QCString extraTypeChars() const =0
virtual bool isWritable() const =0
virtual bool isMaybeAmbiguous() const =0
virtual bool isPrivateGettable() const =0
virtual bool isStrongEnumValue() const =0
virtual VhdlSpecifier getVhdlSpecifiers() const =0
virtual const MemberVector & reimplementedBy() const =0
virtual int getGroupStartLine() const =0
virtual bool isFunction() const =0
virtual bool isRequired() const =0
virtual bool isAttribute() const =0
virtual bool isExternal() const =0
virtual QCString sourceRefName() const =0
virtual bool isCopy() const =0
virtual QCString displayDefinition() const =0
virtual QCString getScopeString() const =0
virtual int getMemberGroupId() const =0
virtual bool isDictionary() const =0
virtual int getDeclLine() const =0
virtual bool isTypeAlias() const =0
virtual QCString getDeclType() const =0
virtual int getDeclColumn() const =0
virtual bool isStatic() const =0
virtual const MemberDef * reimplements() const =0
virtual bool isMaybeDefault() const =0
virtual bool livesInsideEnum() const =0
virtual QCString getWriteAccessor() const =0
virtual bool hasInlineSource() const =0
virtual bool isTemplateSpecialization() const =0
virtual bool isPrivateSettable() const =0
virtual StringVector getQualifiers() const =0
virtual QCString getCachedTypedefTemplSpec() const =0
virtual QCString bitfieldString() const =0
virtual bool isRaisable() const =0
virtual bool isRemovable() const =0
virtual bool isTypedefValCached() const =0
virtual bool isConstrained() const =0
virtual MemberGroup * getMemberGroup() const =0
virtual MemberDef * resolveAlias()=0
virtual bool isDocsForDefinition() const =0
virtual bool isReadonly() const =0
virtual bool isBound() const =0
virtual bool hasEnumValues() const =0
virtual bool isFriendToHide() const =0
virtual bool isReimplementedBy(const ClassDef *cd) const =0
virtual bool isNonAtomic() const =0
virtual const ModuleDef * getModuleDef() const =0
virtual bool isDefine() const =0
virtual ClassDef * getClassDefOfAnonymousType() const =0
virtual const NamespaceDef * getNamespaceDef() const =0
virtual bool isPublished() const =0
virtual bool isFunctionPtr() const =0
virtual std::unique_ptr< MemberDef > createTemplateInstanceMember(const ArgumentList &formalArgs, const std::unique_ptr< ArgumentList > &actualArgs) const =0
virtual bool hasCallerGraph() const =0
virtual Grouping::GroupPri_t getGroupPri() const =0
virtual QCString getDeclFileName() const =0
virtual const ArgumentList & typeConstraints() const =0
virtual bool isProtectedSettable() const =0
virtual bool isImplementation() const =0
virtual void setMemberGroup(MemberGroup *grp)=0
virtual bool isProtectedGettable() const =0
virtual QCString objCMethodName(bool localLink, bool showStatic) const =0
virtual bool hasOneLineInitializer() const =0
virtual const MemberDef * templateMaster() const =0
virtual std::optional< ArgumentList > formalTemplateArguments() const =0
virtual bool isObjCProperty() const =0
virtual bool isTransient() const =0
virtual const MemberList * getSectionList(const Definition *container) const =0
virtual bool hasMultiLineInitializer() const =0
virtual Protection protection() const =0
virtual TypeSpecifier getMemberSpecifiers() const =0
virtual bool isOptional() const =0
virtual QCString getReadAccessor() const =0
virtual bool isEnumerate() const =0
virtual bool isGettable() const =0
virtual MemberType memberType() const =0
virtual bool hasReferencedByRelation() const =0
virtual bool isFunctionOrSignalSlot() const =0
virtual bool isReadable() const =0
virtual bool isWeak() const =0
virtual bool isNoDiscard() const =0
virtual std::unique_ptr< MemberDef > deepCopy() const =0
virtual QCString memberTypeName() const =0
virtual bool isUnretained() const =0
virtual QCString getGroupFileName() const =0
virtual void writeLink(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *md, bool onlyText=FALSE) const =0
virtual ClassDef * relatedAlso() const =0
virtual bool isBriefSectionVisible() const =0
virtual const ArgumentLists & definitionTemplateParameterLists() const =0
virtual StringVector getLabels(const Definition *container) const =0
virtual bool isVariable() const =0
virtual bool isNotFriend() const =0
virtual bool isDCOP() const =0
virtual bool isStrong() const =0
virtual QCString argsString() const =0
virtual void detectUndocumentedParams(bool hasParamCommand, bool hasReturnCommand) const =0
virtual bool isSliceLocal() const =0
virtual Specifier virtualness(int count=0) const =0
virtual bool isUNOProperty() const =0
virtual const MemberDef * categoryRelation() const =0
virtual int initializerLines() const =0
virtual bool isFinal() const =0
virtual const ArgumentList & declArgumentList() const =0
virtual const ExampleList & getExamples() const =0
virtual bool isAbstract() const =0
virtual void warnIfUndocumentedParams() const =0
virtual bool isMutable() const =0
virtual bool isFriendClass() const =0
virtual bool isCallable() const =0
virtual bool isDetailedSectionVisible(MemberListContainer container) const =0
virtual const MemberDef * getEnumScope() const =0
virtual bool isEnumValue() const =0
virtual bool isPrototype() const =0
virtual bool isProperty() const =0
virtual const QCString & initializer() const =0
A class representing a group of members.
A list of MemberDef objects as shown in documentation sections.
A vector of MemberDef object.
An abstract interface of a namespace symbol.
Class representing a list of output generators that are written to in parallel.
static void incrementFlowKeyWordCount(yyscan_t yyscanner)
#define ABSTRACT_BASE_CLASS(cls)
Macro to implement rule of 5 for an abstract base class.
std::vector< std::string > StringVector
static void setAnonymousEnumType()
static void writeTagFile()
static void findSectionsInDocumentation()
std::unique_ptr< MemberDef > createMemberDefAlias(const Definition *newScope, const MemberDef *aliasMd)
MemberDefMutable * toMemberDefMutable(Definition *d)
void combineDeclarationAndDefinition(MemberDefMutable *mdec, MemberDefMutable *mdef)
void addDocCrossReference(const MemberDef *src, const MemberDef *dst)
MemberDef * toMemberDef(Definition *d)
std::unique_ptr< MemberDef > 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.
static void setProtection(yyscan_t yyscanner)
This struct is used to capture the tag file information for an Entry.
This file contains a number of basic enums and types.
Protection
Protection level of members.
Relationship
Kind of member relationship.
Specifier
Virtualness of a member.