60 bool isPublished=
false);
179 return std::make_unique<NamespaceDefImpl>(defFileName,defLine,defColumn,name,ref,refFile,type,isPublished);
263 auto alnd = std::make_unique<NamespaceDefAliasImpl>(newScope,nd);
283 fileName = stripExtension(fName);
287 fileName = convertNameToFile(stripExtension(fName));
292 setFileNameLocal(name);
301 else if (type==
"constants")
303 m_type = CONSTANT_GROUP;
305 else if (type==
"library")
323 locName=locName.
mid(i+2);
359 mg->distributeMemberGroupDocumentation();
370 mg->findSectionsInDocumentation(
this);
374 if (ml->listType().isDeclaration())
376 ml->findSectionsInDocumentation(
this);
383 if (fd==
nullptr)
return;
384 auto it = std::find(
files.begin(),
files.end(),fd);
447 if (ml->listType().isDeclaration())
459 mg->addToDeclarationSection();
505 if (allMemberList==
nullptr)
554 err(
"NamespaceDefImpl::insertMembers(): "
555 "member '{}' with unexpected type '{}' and class scope '{}' inserted in namespace scope '{}'!\n",
590 if (allMemberList) allMemberList->
setAnchors();
604 tagFile <<
" <compound kind=\"namespace\">\n";
606 tagFile <<
" <filename>" << fn <<
"</filename>\n";
610 tagFile <<
" <clangid>" <<
convertToXML(idStr) <<
"</clangid>\n";
616 case LayoutDocEntry::NamespaceNestedNamespaces:
620 if (nd->isLinkableInProject())
622 tagFile <<
" <namespace>" <<
convertToXML(nd->name()) <<
"</namespace>\n";
627 case LayoutDocEntry::NamespaceClasses:
632 case LayoutDocEntry::NamespaceInterfaces:
637 case LayoutDocEntry::NamespaceStructs:
642 case LayoutDocEntry::NamespaceExceptions:
647 case LayoutDocEntry::NamespaceConcepts:
652 case LayoutDocEntry::MemberDecl:
665 case LayoutDocEntry::MemberGroups:
669 mg->writeTagFile(tagFile);
678 tagFile <<
" </compound>\n";
727 .setIndexWords(
true));
747 .setSingleLine(
true))
756 ol.
writeDoc(ast.get(),
this,
nullptr);
850 mg->writeDeclarations(ol,
nullptr,
this,
nullptr,
nullptr,
nullptr);
876 if (lde->kind()==LayoutDocEntry::NamespaceClasses &&
m_classes.declVisible() && ls)
882 else if (lde->kind()==LayoutDocEntry::NamespaceInterfaces &&
m_interfaces.declVisible() && ls)
888 else if (lde->kind()==LayoutDocEntry::NamespaceStructs &&
m_structs.declVisible() && ls)
894 else if (lde->kind()==LayoutDocEntry::NamespaceExceptions &&
m_exceptions.declVisible() && ls)
900 else if (lde->kind()==LayoutDocEntry::NamespaceNestedNamespaces &&
m_namespaces.declVisible(
false) && ls)
906 else if (lde->kind()==LayoutDocEntry::NamespaceNestedConstantGroups &&
m_namespaces.declVisible(
true) && ls)
912 else if (lde->kind()==LayoutDocEntry::NamespaceConcepts &&
m_concepts.declVisible() && ls)
918 else if (lde->kind()== LayoutDocEntry::MemberDecl)
969 for (
const auto &cd : list)
971 if (cd->isLinkableInProject())
973 tagFile <<
" <class kind=\"" << cd->compoundTypeString()
983 if (cd->isLinkableInProject())
985 tagFile <<
" <concept>" <<
convertToXML(cd->name()) <<
"</concept>\n";
999 if (!generateTreeView)
1021 switch (lde->kind())
1023 case LayoutDocEntry::BriefDesc:
1026 case LayoutDocEntry::MemberDeclStart:
1029 case LayoutDocEntry::NamespaceClasses:
1034 case LayoutDocEntry::NamespaceInterfaces:
1039 case LayoutDocEntry::NamespaceStructs:
1044 case LayoutDocEntry::NamespaceExceptions:
1049 case LayoutDocEntry::NamespaceConcepts:
1054 case LayoutDocEntry::NamespaceNestedNamespaces:
1059 case LayoutDocEntry::NamespaceNestedConstantGroups:
1064 case LayoutDocEntry::MemberGroups:
1067 case LayoutDocEntry::MemberDecl:
1073 case LayoutDocEntry::MemberDeclEnd:
1076 case LayoutDocEntry::DetailedDesc:
1081 case LayoutDocEntry::MemberDefStart:
1084 case LayoutDocEntry::NamespaceInlineClasses:
1087 case LayoutDocEntry::MemberDef:
1093 case LayoutDocEntry::MemberDefEnd:
1096 case LayoutDocEntry::AuthorSection:
1099 case LayoutDocEntry::ClassIncludes:
1100 case LayoutDocEntry::ClassInheritanceGraph:
1101 case LayoutDocEntry::ClassNestedClasses:
1102 case LayoutDocEntry::ClassCollaborationGraph:
1103 case LayoutDocEntry::ClassAllMembersLink:
1104 case LayoutDocEntry::ClassUsedFiles:
1105 case LayoutDocEntry::ClassInlineClasses:
1106 case LayoutDocEntry::ConceptDefinition:
1107 case LayoutDocEntry::FileClasses:
1108 case LayoutDocEntry::FileConcepts:
1109 case LayoutDocEntry::FileInterfaces:
1110 case LayoutDocEntry::FileStructs:
1111 case LayoutDocEntry::FileExceptions:
1112 case LayoutDocEntry::FileNamespaces:
1113 case LayoutDocEntry::FileConstantGroups:
1114 case LayoutDocEntry::FileIncludes:
1115 case LayoutDocEntry::FileIncludeGraph:
1116 case LayoutDocEntry::FileIncludedByGraph:
1117 case LayoutDocEntry::FileSourceLink:
1118 case LayoutDocEntry::FileInlineClasses:
1119 case LayoutDocEntry::GroupClasses:
1120 case LayoutDocEntry::GroupConcepts:
1121 case LayoutDocEntry::GroupModules:
1122 case LayoutDocEntry::GroupInlineClasses:
1123 case LayoutDocEntry::GroupNamespaces:
1124 case LayoutDocEntry::GroupDirs:
1125 case LayoutDocEntry::GroupNestedGroups:
1126 case LayoutDocEntry::GroupFiles:
1127 case LayoutDocEntry::GroupGraph:
1128 case LayoutDocEntry::GroupPageDocs:
1129 case LayoutDocEntry::ModuleExports:
1130 case LayoutDocEntry::ModuleClasses:
1131 case LayoutDocEntry::ModuleConcepts:
1132 case LayoutDocEntry::ModuleUsedFiles:
1133 case LayoutDocEntry::DirSubDirs:
1134 case LayoutDocEntry::DirFiles:
1135 case LayoutDocEntry::DirGraph:
1136 err(
"Internal inconsistency: member '{}' should not be part of "
1137 "LayoutDocManager::Namespace entry list\n",lde->entryToString());
1151 if (allMemberList) allMemberList->
sort();
1163 if (ml->listType().isDocumentation())
1165 ml->writeDocumentationPage(ol,
displayName(),
this);
1181 for (
const auto &md : *allMemberList)
1183 if (md->getNamespaceDef()==
this && md->isLinkable() && !md->isEnumValue())
1185 if (md->isLinkableInProject())
1187 QCString fn = md->getOutputFileBase();
1218 ml->countDecMembers();
1219 ml->countDocMembers();
1223 mg->countDecMembers();
1224 mg->countDocMembers();
1252 if (n==
nullptr)
return nullptr;
1281 mg->addListReferences(
this);
1285 if (ml->listType().isDocumentation())
1287 ml->addListReferences(
this);
1297 mg->addRequirementReferences(
this);
1301 if (ml->listType().isDocumentation())
1303 ml->addRequirementReferences(
this);
1315 if (visitedNamespaces.find(
this)!=visitedNamespaces.end())
return;
1316 visitedNamespaces.insert(
this);
1319 for (
auto &nd : usingDirList)
1328 for (
auto &nd : usingDirList)
1331 for (
const auto &und : nd->getUsedNamespaces())
1336 for (
const auto &ud : nd->getUsedDefinitions())
1348 if (lde->kind()==LayoutDocEntry::MemberDef)
1356 for (
const auto &md : *ml)
1358 if (md->visibleInIndex())
1377 for (
const auto &nd : *
this)
1379 if (nd->isLinkable() && nd->hasDocumentation())
1382 if (SrcLangExt::IDL==lang)
1384 if (isConstantGroup == nd->isConstantGroup())
1390 else if (!isConstantGroup)
1392 if (nd->isConstantGroup())
1394 err(
"Internal inconsistency: constant group but not IDL?\n");
1405 bool const isConstantGroup,
bool localName)
1409 if (
empty())
return;
1422 for (
const auto &nd : *
this)
1424 if (nd->isLinkable() && nd->hasDocumentation())
1427 if (lang==SrcLangExt::IDL && (isConstantGroup != nd->isConstantGroup()))
1430 QCString name = localName ? nd->localName() : nd->displayName();
1434 QCString ct = nd->compoundTypeString();
1440 if (!nd->briefDescription().isEmpty() &&
Config_getBool(BRIEF_MEMBER_DESC))
1447 nd->briefDescription(),
1449 .setSingleLine(
true));
1465 ml->setNeedsSorting(
1466 (ml->listType().isDeclaration() && sortBriefDocs) ||
1467 (ml->listType().isDocumentation() && sortMemberDocs));
1470 if (ml->listType().isDeclaration())
1484 if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(
FALSE); }
1522 if (ml->listType()==lt)
1546 err(
"Possible recursive namespace relation while inside {}\n",nd->
name());
1574 if (i==-1) i=0;
else i+=2;
1577 if (extractAnonNs &&
1578 name().mid(i,20)==
"anonymous_namespace{"
1605 auto getReferenceTitle = [
this](std::function<
QCString()> translateFunc) ->
QCString
1610 if (lang==SrcLangExt::Java)
1614 else if (lang==SrcLangExt::Fortran || lang==SrcLangExt::Slice)
1616 pageTitle = getReferenceTitle([
this](){
1620 else if (lang==SrcLangExt::IDL)
1622 pageTitle = getReferenceTitle([
this](){
1630 pageTitle = getReferenceTitle([
this](){
1640 if (lang==SrcLangExt::Java)
1644 else if(lang==SrcLangExt::CSharp)
1648 else if (lang==SrcLangExt::Fortran)
1652 else if (lang==SrcLangExt::IDL)
1739 if (namespacesTried.find(name.
str())==namespacesTried.end())
1741 namespacesTried.insert(name.
str());
1745 size_t i = name.
str().find(
"::",p);
1746 if (i==std::string::npos)
1783 size_t j = aliasInfo.
context.length();
1801 j = aliasInfo.
context.rfind(
"::",j-1);
1805 j = std::string::npos;
1807 if (j==std::string::npos)
1833 if (name.
isEmpty())
return nullptr;
1846 if (cnd->isLinkableInProject() && !cnd->isAnonymous())
1868 if (cnd->isLinkableInProject())
1909 for (
const auto &cd : list)
1912 if (cd->isLinkableInProject())
A abstract class representing of a compound symbol.
virtual QCString className() const =0
Returns the name of the class including outer classes, but not including namespaces.
CompoundType
The various compound types.
virtual CompoundType compoundType() const =0
Returns the type of compound this is, i.e.
void writeDeclaration(OutputList &ol, const ClassDef::CompoundType *filter, const QCString &header, bool localNames) const
const QCString & name() const override
const Definition * getAlias() const
DefinitionAliasMixin(const Definition *scope, const Definition *alias)
The common base class of all entity definitions found in the sources.
virtual const QCString & localName() const =0
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
virtual bool isLinkable() const =0
virtual DefType definitionType() const =0
virtual QCString anchor() const =0
virtual bool isLinkableInProject() const =0
virtual bool isAnonymous() const =0
virtual bool isHidden() const =0
virtual const Definition * findInnerCompound(const QCString &name) const =0
virtual QCString qualifiedName() const =0
virtual CodeSymbolType codeSymbolType() const =0
virtual QCString getOutputFileBase() const =0
virtual const QCString & name() const =0
int getDefLine() const override
bool isReference() const override
const QCString & name() const override
QCString getDefFileName() const override
void writeNavigationPath(OutputList &ol) const override
bool isExported() const override
bool hasBriefDescription() const override
QCString docFile() const override
bool hasRequirementRefs() const override
QCString briefFile() const override
QCString qualifiedName() const override
QCString id() const override
void writeRequirementRefs(OutputList &ol) const override
const RefItemVector & xrefListItems() const override
void setName(const QCString &name) override
QCString briefDescription(bool abbreviate=FALSE) const override
Definition * getOuterScope() const override
DefinitionMixin(const QCString &defFileName, int defLine, int defColumn, const QCString &name, const char *b=nullptr, const char *d=nullptr, bool isSymbol=TRUE)
bool isHidden() const override
void setLocalName(const QCString &name) override
QCString inbodyDocumentation() const override
int docLine() const override
bool isArtificial() const override
int briefLine() const override
QCString documentation() const override
void writeDocAnchorsToTagFile(TextStream &fs) const override
bool hasDocumentation() const override
SrcLangExt getLanguage() const override
virtual void setOuterScope(Definition *d)=0
static NamespaceLinkedMap * namespaceLinkedMap
static bool suppressDocWarnings
static MemberNameLinkedMap * functionNameLinkedMap
static NamespaceDefMutable * globalScope
static NamespaceAliasInfoMap namespaceAliasMap
A model of a file symbol.
virtual void insertMember(MemberDef *md)=0
static LayoutDocManager & instance()
Returns a reference to this singleton.
Container class representing a vector of objects with keys.
bool add(const char *k, T *obj)
A model of a class/file/namespace member symbol.
virtual const ClassDef * getClassDef() const =0
virtual MemberType memberType() const =0
virtual QCString memberTypeName() const =0
virtual void setSectionList(const Definition *container, const MemberList *sl)=0
virtual void setFileDef(FileDef *fd)=0
virtual void setNamespace(NamespaceDef *nd)=0
A list of MemberDef objects as shown in documentation sections.
int numDocMembers() const
void writeDeclarations(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *mod, const QCString &title, const QCString &subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, const ClassDef *inheritedFrom=nullptr, MemberListType lt=MemberListType::PubMethods(), bool showSectionTitle=true) const
Writes the list of members to the output.
void writeTagFile(TextStream &, bool useQualifiedName=false, bool showNamespaceMembers=true)
MemberListType listType() const
void writeDocumentation(OutputList &ol, const QCString &scopeName, const Definition *container, const QCString &title, const QCString &anchor, bool showEnumValues=FALSE, bool showInline=FALSE) const
Wrapper class for the MemberListType type.
constexpr const char * toLabel() const noexcept
void push_back(const T &value)
ClassLinkedRefMap getInterfaces() const override
bool subGrouping() const override
ClassLinkedRefMap getExceptions() const override
const MemberDef * getMemberByName(const QCString &name) const override
QCString getOutputFileBase() const override
ClassLinkedRefMap getStructs() const override
ConceptLinkedRefMap getConcepts() const override
QCString displayName(bool b=TRUE) const override
ClassLinkedRefMap getClasses() const override
DefType definitionType() const override
bool isLinkableInProject() const override
const NamespaceDef * getNSAlias() const
QCString title() const override
QCString anchor() const override
int numDocMembers() const override
bool isLinkable() const override
const MemberGroupList & getMemberGroups() const override
const LinkedRefMap< const Definition > & getUsedDefinitions() const override
int countVisibleMembers() const override
~NamespaceDefAliasImpl() override
const QCString & localName() const override
bool isLibrary() const override
bool hasDetailedDescription() const override
bool isVisibleInHierarchy() const override
MemberList * getMemberList(MemberListType lt) const override
NamespaceDefAliasImpl(const Definition *newScope, const NamespaceDef *nd)
bool isModule() const override
QCString compoundTypeString() const override
bool isInline() const override
NamespaceLinkedRefMap getNamespaces() const override
const LinkedRefMap< NamespaceDef > & getUsedNamespaces() const override
CodeSymbolType codeSymbolType() const override
const MemberLists & getMemberLists() const override
bool isConstantGroup() const override
const Definition * findInnerCompound(const QCString &name) const override
An abstract interface of a namespace symbol.
virtual bool isLibrary() const =0
virtual MemberList * getMemberList(MemberListType lt) const =0
virtual bool isConstantGroup() const =0
virtual ConceptLinkedRefMap getConcepts() const =0
virtual ClassLinkedRefMap getStructs() const =0
virtual QCString compoundTypeString() const =0
virtual const LinkedRefMap< NamespaceDef > & getUsedNamespaces() const =0
virtual ClassLinkedRefMap getExceptions() const =0
virtual const MemberLists & getMemberLists() const =0
virtual NamespaceLinkedRefMap getNamespaces() const =0
virtual bool isModule() const =0
virtual bool subGrouping() const =0
virtual int countVisibleMembers() const =0
virtual int numDocMembers() const =0
virtual bool hasDetailedDescription() const =0
virtual bool isInline() const =0
virtual bool isVisibleInHierarchy() const =0
virtual const MemberDef * getMemberByName(const QCString &) const =0
virtual QCString title() const =0
virtual ClassLinkedRefMap getClasses() const =0
virtual ClassLinkedRefMap getInterfaces() const =0
virtual const LinkedRefMap< const Definition > & getUsedDefinitions() const =0
virtual const MemberGroupList & getMemberGroups() const =0
MemberGroupList m_memberGroups
void writeQuickMemberLinks(OutputList &ol, const MemberDef *currentMd) const override
const MemberDef * getMemberByName(const QCString &) const override
bool isConstantGroup() const override
LinkedRefMap< NamespaceDef > m_usingDirList
void addUsingDirective(NamespaceDef *nd) override
const LinkedRefMap< const Definition > & getUsedDefinitions() const override
NamespaceLinkedRefMap getNamespaces() const override
void computeAnchors() override
NamespaceLinkedRefMap m_namespaces
void writeConceptsToTagFile(TextStream &)
void writeMemberPages(OutputList &ol) override
bool isLibrary() const override
void insertNamespace(NamespaceDef *nd) override
void writeMemberGroups(OutputList &ol)
void addInnerCompound(Definition *d) override
void insertClass(ClassDef *cd) override
int countVisibleMembers() const override
bool isLinkable() const override
void insertConcept(ConceptDef *cd) override
bool isInline() const override
void addMemberToList(MemberListType lt, MemberDef *md)
void writeMemberDocumentation(OutputList &ol, MemberListType lt, const QCString &title)
MemberLinkedRefMap m_allMembers
void startMemberDeclarations(OutputList &ol)
void writeTagFile(TextStream &) override
void writeAuthorSection(OutputList &ol)
CodeSymbolType codeSymbolType() const override
ClassLinkedRefMap m_structs
void writeClassDeclarations(OutputList &ol, const QCString &title, const ClassLinkedRefMap &d)
void setFileNameLocal(const QCString &fn)
ClassLinkedRefMap getClasses() const override
MemberList * getMemberList(MemberListType lt) const override
void setFileName(const QCString &fn) override
void endMemberDocumentation(OutputList &ol)
const MemberLists & getMemberLists() const override
ClassLinkedRefMap m_interfaces
const MemberGroupList & getMemberGroups() const override
enum NamespaceDefImpl::@152056333015234071026257214045103374127312105332 m_type
void addRequirementReferences() override
void writeInlineClasses(OutputList &ol)
void writeBriefDescription(OutputList &ol)
~NamespaceDefImpl() override
void combineUsingRelations(NamespaceDefSet &visitedNamespace) override
int numDocMembers() const override
ClassLinkedRefMap m_exceptions
bool subGrouping() const override
QCString anchor() const override
bool isModule() const override
bool isVisibleInHierarchy() const override
void startMemberDocumentation(OutputList &ol)
LinkedRefMap< const Definition > m_usingDeclList
bool hasDetailedDescription() const override
ClassLinkedRefMap getInterfaces() const override
void insertUsedFile(FileDef *fd) override
NamespaceDefImpl(const QCString &defFileName, int defLine, int defColumn, const QCString &name, const QCString &ref=QCString(), const QCString &refFile=QCString(), const QCString &type=QCString(), bool isPublished=false)
QCString title() const override
void writeMemberDeclarations(OutputList &ol, MemberListType lt, const QCString &title)
QCString getOutputFileBase() const override
void endMemberDeclarations(OutputList &ol)
const LinkedRefMap< NamespaceDef > & getUsedNamespaces() const override
void addMembersToMemberGroup() override
void writeDocumentation(OutputList &ol) override
QCString displayName(bool=TRUE) const override
void findSectionsInDocumentation() override
void addUsingDeclaration(const Definition *cd) override
bool isLinkableInProject() const override
void setMetaData(const QCString &m) override
void writeConcepts(OutputList &ol, const QCString &title)
LinkedRefMap< const Definition > m_innerCompounds
ConceptLinkedRefMap getConcepts() const override
void setInline(bool isInline) override
ClassLinkedRefMap getStructs() const override
void addNamespaceAttributes(OutputList &ol)
void distributeMemberGroupDocumentation() override
const Definition * findInnerCompound(const QCString &name) const override
void writeNamespaceDeclarations(OutputList &ol, const QCString &title, bool isConstantGroup=false)
ClassLinkedRefMap m_classes
void countMembers() override
void writeDetailedDescription(OutputList &ol, const QCString &title)
MemberLists m_memberLists
void insertMember(MemberDef *md) override
ClassLinkedRefMap getExceptions() const override
void setName(const QCString &name) override
void writePageNavigation(OutputList &ol) const override
void sortMemberLists() override
void addListReferences() override
ConceptLinkedRefMap m_concepts
QCString compoundTypeString() const override
DefType definitionType() const override
void writeClassesToTagFile(TextStream &, const ClassLinkedRefMap &d)
void writeSummaryLinks(OutputList &ol) const override
virtual void insertMember(MemberDef *md)=0
virtual void combineUsingRelations(NamespaceDefSet &visitedNamespace)=0
void writeDeclaration(OutputList &ol, const QCString &title, bool isConstantGroup=false, bool localName=FALSE)
bool declVisible(bool isContantGroup) const
Class representing a list of output generators that are written to in parallel.
void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md, int sectionLevel=-1)
void endTextBlock(bool paraBreak=FALSE)
void writeString(const QCString &text)
void startMemberDeclaration()
void disable(OutputType o)
void startGroupHeader(const QCString &id=QCString(), int extraLevels=0)
void enable(OutputType o)
void endMemberDescription()
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
void docify(const QCString &s)
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, const DocOptions &options)
void startParagraph(const QCString &classDef=QCString())
void startTextBlock(bool dense=FALSE)
void startMemberSections()
void endMemberItem(OutputGenerator::MemberItemType type)
void pushGeneratorState()
void insertMemberAlign(bool templ=FALSE)
void disableAllBut(OutputType o)
void writeSummaryLink(const QCString &file, const QCString &anchor, const QCString &title, bool first)
void writeAnchor(const QCString &fileName, const QCString &name)
void endGroupHeader(int extraLevels=0)
void writeLabel(const QCString &l, bool isLast)
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
void startMemberItem(const QCString &anchor, OutputGenerator::MemberItemType type, const QCString &id=QCString())
void lineBreak(const QCString &style=QCString())
void parseText(const QCString &textStr)
void startTextLink(const QCString &file, const QCString &anchor)
void startMemberHeader(const QCString &anchor, int typ=2)
This is an alternative implementation of QCString.
QCString & prepend(const char *s)
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
char & at(size_t i)
Returns a reference to the character at index i.
bool isEmpty() const
Returns TRUE iff the string is empty.
const std::string & str() const
int findRev(char c, int index=-1, bool cs=TRUE) const
QCString left(size_t len) const
static RequirementManager & instance()
void addRequirementRefsForSymbol(const Definition *symbol)
Text streaming class that buffers data.
ClassDef * toClassDef(Definition *d)
ConceptDef * toConceptDef(Definition *d)
#define Config_getBool(name)
#define Config_getString(name)
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
std::set< std::string > StringSet
Definition * toDefinition(DefinitionMutable *dm)
DirIterator end(const DirIterator &) noexcept
void docFindSections(const QCString &input, const Definition *d, const QCString &fileName)
IDocNodeASTPtr validatingParseDoc(IDocParser &parserIntf, const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &input, const DocOptions &options)
IDocParserPtr createDocParser()
factory function to create a parser
static void writeTagFile()
static void combineUsingRelations()
FileDef * toFileDef(Definition *d)
void startTitle(OutputList &ol, const QCString &fileName, const DefinitionMutable *def)
void endTitle(OutputList &ol, const QCString &fileName, const QCString &name)
void startFile(OutputList &ol, const QCString &name, bool isSource, const QCString &manName, const QCString &title, HighlightedItem hli, bool additionalIndices, const QCString &altSidebarName, int hierarchyLevel, const QCString &allMembersFile)
void endFileWithNavPath(OutputList &ol, const DefinitionMutable *d, bool showPageNavigation)
Translator * theTranslator
std::unique_ptr< MemberDef > createMemberDefAlias(const Definition *newScope, const MemberDef *aliasMd)
MemberDefMutable * toMemberDefMutable(Definition *d)
#define err_full(file, line, fmt,...)
bool namespaceHasNestedNamespace(const NamespaceDef *nd)
void replaceNamespaceAliases(QCString &name)
bool namespaceHasNestedClass(const NamespaceDef *nd, bool filterClasses, ClassDef::CompoundType ct)
static NamespaceDef * getResolvedNamespaceRec(StringSet &namespacesTried, const NamespaceAliasInfo &aliasInfo)
std::unique_ptr< NamespaceDef > createNamespaceDefAlias(const Definition *newScope, const NamespaceDef *nd)
Factory method to create an alias of an existing namespace.
static bool hasNonReferenceNestedNamespaceRec(const NamespaceDef *nd, int level)
static QCString replaceNamespaceAliasesRec(StringSet &namespacesTried, const QCString &name)
std::unique_ptr< NamespaceDef > createNamespaceDef(const QCString &defFileName, int defLine, int defColumn, const QCString &name, const QCString &ref, const QCString &refFile, const QCString &type, bool isPublished)
Factory method to create new NamespaceDef instance.
NamespaceDef * getResolvedNamespace(const QCString &name)
static QCString makeDisplayName(const NamespaceDef *nd, bool includeScope)
NamespaceDef * toNamespaceDef(Definition *d)
NamespaceDefMutable * toNamespaceDefMutable(Definition *d)
bool namespaceHasNestedConcept(const NamespaceDef *nd)
std::unordered_set< const NamespaceDef * > NamespaceDefSet
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
int qstricmp_sort(const char *str1, const char *str2)
Web server based search engine.
Represents of a member declaration list with configurable title and subtitle.
QCString title(SrcLangExt lang) const
Represents of a member definition list with configurable title.
QCString title(SrcLangExt lang) const
QCString title(SrcLangExt lang) const
QCString convertToHtml(const QCString &s, bool keepEntities)
void addRefItem(const RefItemVector &sli, const QCString &key, const QCString &prefix, const QCString &name, const QCString &title, const QCString &args, const Definition *scope)
void addGroupListToTitle(OutputList &ol, const Definition *d)
QCString removeAnonymousScopes(const QCString &str)
void createSubDirs(const Dir &d)
QCString stripScope(const QCString &name)
QCString convertNameToFile(const QCString &name, bool allowDots, bool allowUnderscore)
QCString convertToXML(const QCString &s, bool keepEntities)
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
Returns the scope separator to use given the programming language lang.
void addHtmlExtensionIfMissing(QCString &fName)
A bunch of utility functions.