浏览该文件的文档.
49 bool sortConstructorsFirst =
Config_getBool(SORT_MEMBERS_CTORS_1ST);
50 if (sortConstructorsFirst)
84 if (md->isBriefSectionVisible())
94 if (!md->isReimplementedBy(inheritedFrom)) count++;
105 count+=mg->countInheritableMembers(inheritedFrom);
129 if (md->isBriefSectionVisible())
131 switch(md->memberType())
165 !md->argsString().isEmpty() ||
166 !md->initializer().isEmpty() ||
167 md->hasDocumentation()
174 err(
"Unknown member type found for member '%s'\n!",
qPrint(md->name()));
180 mg->countDecMembers();
207 if (md->isDetailedSectionVisible(
m_container) && !md->isAlias())
219 mg->countDocMembers();
231 if (md->isBriefSectionVisible())
238 for (
const auto &vmd : md->enumFieldList())
244 if ((vtype.
find(name))!=-1)
255 mg->setAnonymousEnumType();
270 if ((vtype.
find(name))!=-1)
276 return numEnumValues;
283 if (md->isBriefSectionVisible())
285 switch (md->memberType())
335 err(
"MemberList::numDecMembers()==-1, so the members of this list have not been counted. Please report as a bug.\n");
353 if ((inheritedFrom==0 || !md->isReimplementedBy(inheritedFrom)) &&
354 md->isBriefSectionVisible())
357 switch(md->memberType())
375 md->writeDeclaration(ol,cd,nd,fd,gd,inGroup,indentLevel,inheritedFrom,inheritId);
392 bool detailsLinkable = md->hasDetailedDescription();
393 if (!detailsLinkable)
397 if (md->isSliceLocal())
404 if (md->isEnumStruct())
414 md->writeEnumDeclaration(ol,cd,nd,fd,gd);
415 if (!detailsLinkable)
420 if (!md->briefDescription().isEmpty() &&
Config_getBool(BRIEF_MEMBER_DESC))
424 md->briefFile(),md->briefLine(),
430 if (rootNode && !rootNode->isEmpty())
434 if (md->hasDetailedDescription())
449 md->warnIfUndocumented();
453 if (inheritedFrom==0)
460 md->writeDeclaration(ol,cd,nd,fd,gd,inGroup,indentLevel,inheritedFrom,inheritId);
469 md->writeDeclaration(ol,cd,nd,fd,gd,
true,indentLevel,inheritedFrom,inheritId);
483 if (md->fromAnonymousScope() && !md->anonymousDeclShown())
488 if (md->isBriefSectionVisible())
495 md->writeDeclaration(ol,cd,nd,fd,gd,inGroup,indentLevel);
531 (void)showEnumValues;
538 if (ctx==0 && nd) ctx = nd;
539 if (ctx==0 && gd) ctx = gd;
540 if (ctx==0 && fd) ctx = fd;
566 else if (num>numEnumValues)
596 if (num>numEnumValues)
617 bool hasHeader=!mg->header().isEmpty() && mg->header()!=
"[NOHEADER]";
627 if (!mg->documentation().isEmpty())
638 mg->writePlainDeclarations(ol,inGroup,cd,nd,fd,gd,0,inheritedFrom,inheritId);
645 if (inheritedFrom && cd)
660 const QCString &title,
bool showEnumValues,
bool showInline)
const
664 err(
"MemberList::numDocMembers()==-1, so the members of this list have not been counted. Please report as a bug.\n");
688 std::unordered_map<std::string,OverloadInfo> overloadInfo;
693 !(md->isEnumValue() && !showInline))
695 auto it = overloadInfo.insert(std::make_pair(md->name().str(),OverloadInfo())).first;
703 !(md->isEnumValue() && !showInline))
705 auto it = overloadInfo.find(md->name().str());
706 uint overloadCount = it->second.total;
707 uint &count = it->second.count;
719 mg->writeDocumentation(ol,scopeName,
container,showEnumValues,showInline);
759 std::unordered_map<std::string,OverloadInfo> overloadInfo;
768 auto it = overloadInfo.insert(std::make_pair(md->
name().
str(),OverloadInfo())).first;
779 auto it = overloadInfo.find(md->
name().
str());
780 uint overloadCount = it->second.total;
781 uint &count = it->second.count;
785 if (!generateTreeView)
792 if (generateTreeView)
801 ol.
writeString(
"<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n"
803 " <td valign=\"top\">\n");
808 ol.
writeString(
" <td valign=\"top\" class=\"mempage\">\n");
822 mg->writeDocumentationPage(ol,scopeName,
container);
843 for (
const auto &vmd : enumFields)
857 mg->addListReferences(def);
873 mg->findSectionsInDocumentation(d);
970 mg->writeTagFile(tagFile);
Definition * toDefinition(DefinitionMutable *dm)
void disableAllBut(OutputGenerator::OutputType o)
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
void endGroupHeader(int extraLevels=0)
@ MemberListType_decEnumValMembers
int numDecMembers() const
virtual void addListReference(Definition *d)=0
void endMemberDocSimple(bool b)
@ MemberListType_priStaticMethods
MemberDefMutable * toMemberDefMutable(Definition *d)
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
@ MemberListType_decEventMembers
@ MemberListType_priStaticAttribs
virtual QCString argsString() const =0
void writeSimpleDocumentation(OutputList &ol, const Definition *container) const
void setAnonymousEnumType()
virtual bool isDestructor() const =0
The common base class of all entity definitions found in the sources.
void startDoxyAnchor(const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args)
@ MemberListType_pacStaticAttribs
An abstract interface of a namespace symbol.
void endDoxyAnchor(const QCString &fn, const QCString &anchor)
@ MemberListType_services
@ MemberListType_decProSlotMembers
void docify(const QCString &s)
uint length() const
Returns the length of the string, not counting the 0-terminator.
void endMemberDescription()
int findRev(char c, int index=-1, bool cs=TRUE) const
virtual int getDefLine() const =0
@ MemberListType_priAttribs
bool isEmpty() const
Returns TRUE iff the string is empty
void writeString(const QCString &text)
void insertMemberAlign(bool templ=FALSE)
static void writeVhdlDeclarations(const MemberList *, OutputList &, const GroupDef *, const ClassDef *, const FileDef *, const NamespaceDef *)
int countInheritableMembers(const ClassDef *inheritedFrom) const
@ MemberListType_pubTypes
@ MemberListType_priSlots
virtual bool isJavaEnum() const =0
@ MemberListType_dcopMethods
@ MemberListType_decDictionaryMembers
void err(const char *fmt,...)
Text streaming class that buffers data.
int find(char c, int index=0, bool cs=TRUE) const
MemberListContainer container() const
@ MemberListType_proAttribs
@ MemberListType_pubMethods
void endFileWithNavPath(const Definition *d, OutputList &ol)
void writeDoc(DocRoot *root, const Definition *ctx, const MemberDef *md, int id=0)
MemberGroupRefList m_memberGroupRefList
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
int genericCompareMembers(const MemberDef *c1, const MemberDef *c2)
@ MemberListType_interfaces
void endMemberGroupDocs()
virtual void writeTagFile(TextStream &) const =0
@ MemberListType_decFriendMembers
@ MemberListType_decSequenceMembers
A model of a group of symbols.
void startMemberGroupDocs()
static QCString listTypeAsString(MemberListType type)
Class representing a list of output generators that are written to in parallel.
A model of a class/file/namespace member symbol.
void writeTagFile(TextStream &)
@ MemberListType_decPropMembers
@ MemberListType_decProtoMembers
@ MemberListType_pubSlots
void findSectionsInDocumentation(const Definition *d)
A abstract class representing of a compound symbol.
@ MemberListType_decVarMembers
MemberList(MemberListType lt, MemberListContainer container)
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
void disable(OutputGenerator::OutputType o)
void startMemberItem(const QCString &anchor, int i1, const QCString &id=QCString())
@ MemberListType_proStaticMethods
void startMemberHeader(const QCString &anchor, int typ=2)
void writePlainDeclarations(OutputList &ol, bool inGroup, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, int indentLevel, const ClassDef *inheritedFrom, const QCString &inheritId) const
virtual bool isAlias() const =0
virtual const MemberVector & enumFieldList() const =0
virtual QCString trMore()=0
void endMemberGroup(bool last)
virtual QCString getOutputFileBase() const =0
Returns the unique base name (without extension) of the class's file on disk
virtual bool isConstructor() const =0
@ MemberListType_decPriSlotMembers
void writeInheritedSectionTitle(const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name)
int numDocMembers() const
virtual bool isReference() const =0
void writeDocumentationPage(OutputList &ol, const QCString &scopeName, const DefinitionMutable *container) const
int qstricmp(const char *str1, const char *str2)
Translator * theTranslator
virtual QCString name() const =0
@ MemberListType_decPubSlotMembers
static void writeTagFile(MemberDefMutable *mdef, TextStream &tagFile)
@ MemberListType_enumFields
virtual void setAnchor()=0
QCString stripPath(const QCString &s)
DocRoot * validatingParseDoc(IDocParser &parserIntf, const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &input, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
void startFile(OutputList &ol, const QCString &name, const QCString &manName, const QCString &title, HighlightedItem hli, bool additionalIndices, const QCString &altSidebarName)
virtual QCString briefDescription(bool abbreviate=FALSE) const =0
A vector of MemberDef object
MemberListContainer m_container
MemberListType m_listType
@ MemberListType_pacAttribs
void writeDeclarations(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const QCString &title, const QCString &subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, const ClassDef *inheritedFrom=0, MemberListType lt=MemberListType_pubMethods) const
Writes the list of members to the output.
ClassDef * toClassDef(Definition *d)
virtual void setFromAnonymousScope(bool b) const =0
@ MemberListType_decEnumMembers
@ MemberListType_pacTypes
virtual bool isStrong() const =0
@ MemberListType_priTypes
virtual DefType definitionType() const =0
@ MemberListType_pubStaticAttribs
void startGroupHeader(int extraLevels=0)
@ MemberListType_decDefineMembers
void startMemberDocSimple(bool b)
void startTextLink(const QCString &file, const QCString &anchor)
virtual int countMembersIncludingGrouped(MemberListType lt, const ClassDef *inheritedFrom, bool additional) const =0
@ MemberListType_proMethods
@ MemberListType_decFuncMembers
@ MemberListType_proTypes
void startMemberGroupHeader(bool b)
virtual QCString qualifiedName() const =0
virtual void addGroupedInheritedMembers(OutputList &ol, MemberListType lt, const ClassDef *inheritedFrom, const QCString &inheritId) const =0
int countEnumValues(const MemberDef *md) const
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
@ MemberListType_pacMethods
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
@ MemberListType_proStaticAttribs
virtual QCString getOutputFileBase() const =0
int numDocEnumValues() const
#define Config_getBool(name)
virtual void findSectionsInDocumentation()=0
void writeDocumentation(OutputList &ol, const QCString &scopeName, const Definition *container, const QCString &title, bool showEnumValues=FALSE, bool showInline=FALSE) const
virtual QCString getReference() const =0
If this class originated from a tagfile, this will return the tag file reference
@ MemberListType_priMethods
virtual QCString documentation() const =0
@ MemberListType_proSlots
void addMemberGroup(MemberGroup *mg)
@ MemberListType_decTypedefMembers
void parseText(const QCString &textStr)
void endMemberGroupHeader()
const char * qPrint(const char *s)
void startMemberSubtitle()
virtual QCString getDefFileName() const =0
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
@ MemberListType_decSignalMembers
@ MemberListType_pubAttribs
virtual QCString displayName(bool includeScope=TRUE) const =0
Returns the name as it is appears in the documentation
void pushGeneratorState()
void setNeedsSorting(bool b)
A model of a file symbol.
A class representing a group of members.
void startMemberDocList()
int numDecEnumValues() const
@ MemberListType_pacStaticMethods
ClassDefMutable * toClassDefMutable(Definition *d)
void startMemberDeclaration()
@ MemberListType_properties
void addListReferences(Definition *def)
A bunch of utility functions.
@ MemberListType_pubStaticMethods
virtual bool hasDetailedDescription() const =0
@ MemberListType_memberGroup
QCString right(size_t len) const
virtual void setAnonymousEnumType(const MemberDef *md)=0
virtual MemberType memberType() const =0
virtual const GroupDef * getGroupDef() const =0
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
std::unique_ptr< IDocParser > createDocParser()
virtual QCString anchor() const =0
This is an alternative implementation of QCString.
virtual void writeMemberDocSimple(OutputList &ol, const Definition *container) const =0