#include <stdlib.h>
#include "textstream.h"
#include "xmlgen.h"
#include "doxygen.h"
#include "message.h"
#include "config.h"
#include "classlist.h"
#include "util.h"
#include "defargs.h"
#include "outputgen.h"
#include "dot.h"
#include "dotclassgraph.h"
#include "dotincldepgraph.h"
#include "pagedef.h"
#include "filename.h"
#include "version.h"
#include "xmldocvisitor.h"
#include "docparser.h"
#include "language.h"
#include "parserintf.h"
#include "arguments.h"
#include "memberlist.h"
#include "groupdef.h"
#include "memberdef.h"
#include "namespacedef.h"
#include "membername.h"
#include "membergroup.h"
#include "dirdef.h"
#include "section.h"
#include "htmlentity.h"
#include "resourcemgr.h"
#include "dir.h"
#include "utf8.h"
浏览源代码.
|
#define | XML_DB(x) do {} while(0) |
|
|
static const char * | xmlSectionMapper (MemberListType ml) |
|
void | writeXMLString (TextStream &t, const QCString &s) |
|
void | writeXMLCodeString (TextStream &t, const QCString &str, int &col) |
|
static void | writeXMLHeader (TextStream &t) |
|
static void | writeCombineScript () |
|
void | writeXMLLink (TextStream &t, const QCString &extRef, const QCString &compoundId, const QCString &anchorId, const QCString &text, const QCString &tooltip) |
|
static void | writeTemplateArgumentList (TextStream &t, const ArgumentList &al, const Definition *scope, const FileDef *fileScope, int indent) |
|
static void | writeMemberTemplateLists (const MemberDef *md, TextStream &t) |
|
static void | writeTemplateList (const ClassDef *cd, TextStream &t) |
|
static void | writeTemplateList (const ConceptDef *cd, TextStream &t) |
|
static void | writeXMLDocBlock (TextStream &t, const QCString &fileName, int lineNr, const Definition *scope, const MemberDef *md, const QCString &text) |
|
void | writeXMLCodeBlock (TextStream &t, FileDef *fd) |
|
static void | writeMemberReference (TextStream &t, const Definition *def, const MemberDef *rmd, const QCString &tagName) |
|
static void | stripQualifiers (QCString &typeStr) |
|
static QCString | classOutputFileBase (const ClassDef *cd) |
|
static QCString | memberOutputFileBase (const MemberDef *md) |
|
static void | generateXMLForMember (const MemberDef *md, TextStream &ti, TextStream &t, const Definition *def) |
|
static bool | memberVisible (const Definition *d, const MemberDef *md) |
|
static void | generateXMLSection (const Definition *d, TextStream &ti, TextStream &t, const MemberList *ml, const QCString &kind, const QCString &header=QCString(), const QCString &documentation=QCString()) |
|
static void | writeListOfAllMembers (const ClassDef *cd, TextStream &t) |
|
static void | writeInnerClasses (const ClassLinkedRefMap &cl, TextStream &t) |
|
static void | writeInnerNamespaces (const NamespaceLinkedRefMap &nl, TextStream &t) |
|
static void | writeInnerFiles (const FileList &fl, TextStream &t) |
|
static void | writeInnerPages (const PageLinkedRefMap &pl, TextStream &t) |
|
static void | writeInnerGroups (const GroupList &gl, TextStream &t) |
|
static void | writeInnerDirs (const DirList *dl, TextStream &t) |
|
static void | writeIncludeInfo (const IncludeInfo *ii, TextStream &t) |
|
static void | generateXMLForClass (const ClassDef *cd, TextStream &ti) |
|
static void | generateXMLForConcept (const ConceptDef *cd, TextStream &ti) |
|
static void | generateXMLForNamespace (const NamespaceDef *nd, TextStream &ti) |
|
static void | generateXMLForFile (FileDef *fd, TextStream &ti) |
|
static void | generateXMLForGroup (const GroupDef *gd, TextStream &ti) |
|
static void | generateXMLForDir (DirDef *dd, TextStream &ti) |
|
static void | generateXMLForPage (PageDef *pd, TextStream &ti, bool isExample) |
|
void | generateXML () |
|
◆ XML_DB
#define XML_DB |
( |
|
x | ) |
do {} while(0) |
◆ classOutputFileBase()
◆ generateXML()
在文件 xmlgen.cpp 第 1888 行定义.
1899 Dir xmlDir(outputDirectory.
str());
1906 QCString fileName=outputDirectory+
"/compound.xsd";
1907 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1910 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1918 const char *startLine = compound_xsd.
data();
1922 const char *endLine = startLine+1;
1923 while (*endLine && *(endLine-1)!=
'\n') endLine++;
1924 int len=
static_cast<int>(endLine-startLine);
1928 if (s.find(
"<!-- Automatically insert here the HTML entities -->")!=-1)
1934 t.write(startLine,len);
1942 fileName=outputDirectory+
"/Doxyfile.xml";
1943 f.open(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1946 err(
"Cannot open file %s for writing\n",fileName.
data());
1956 fileName=outputDirectory+
"/index.xml";
1957 f.open(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1960 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1968 t <<
"<?xml version='1.0' encoding='UTF-8' standalone='no'?>\n";;
1969 t <<
"<doxygenindex xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
1970 t <<
"xsi:noNamespaceSchemaLocation=\"index.xsd\" ";
1971 t <<
"version=\"" << getDoxygenVersion() <<
"\" ";
1981 msg(
"Generating XML output for concept %s\n",
qPrint(cd->name()));
1986 msg(
"Generating XML output for namespace %s\n",
qPrint(nd->name()));
1991 for (
const auto &fd : *fn)
1993 msg(
"Generating XML output for file %s\n",
qPrint(fd->name()));
1999 msg(
"Generating XML output for group %s\n",
qPrint(gd->name()));
2004 msg(
"Generating XML output for page %s\n",
qPrint(pd->name()));
2009 msg(
"Generate XML output for dir %s\n",
qPrint(dd->name()));
2014 msg(
"Generating XML output for example %s\n",
qPrint(pd->name()));
2019 msg(
"Generating XML output for the main page\n");
2024 t <<
"</doxygenindex>\n";
引用了 Doxygen::classLinkedMap, clearSubDirs(), Doxygen::conceptLinkedMap, Config_getString, ResourceMgr::copyResource(), createSubDirs(), QCString::data(), Doxygen::dirLinkedMap, err(), Doxygen::exampleLinkedMap, FALSE, QCString::find(), generateXMLForClass(), generateXMLForConcept(), generateXMLForDir(), generateXMLForFile(), generateXMLForGroup(), generateXMLForNamespace(), generateXMLForPage(), ResourceMgr::getAsString(), Doxygen::groupLinkedMap, Doxygen::inputNameLinkedMap, HtmlEntityMapper::instance(), ResourceMgr::instance(), Doxygen::mainPage, msg(), Doxygen::namespaceLinkedMap, Doxygen::pageLinkedMap, qPrint(), QCString::str(), theTranslator, Translator::trISOLang(), TRUE, TextStream::write(), writeCombineScript(), Config::writeXMLDoxyfile() , 以及 HtmlEntityMapper::writeXMLSchema().
被这些函数引用 generateOutput().
◆ generateXMLForClass()
在文件 xmlgen.cpp 第 1231 行定义.
1255 msg(
"Generating XML output for class %s\n",
qPrint(cd->
name()));
1263 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1266 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1272 t <<
" <compounddef id=\""
1278 case Public: t <<
"public";
break;
1279 case Protected: t <<
"protected";
break;
1280 case Private: t <<
"private";
break;
1281 case Package: t <<
"package";
break;
1283 if (cd->
isFinal()) t <<
"\" final=\"yes";
1284 if (cd->
isSealed()) t <<
"\" sealed=\"yes";
1285 if (cd->
isAbstract()) t <<
"\" abstract=\"yes";
1287 t <<
" <compoundname>";
1289 t <<
"</compoundname>\n";
1292 t <<
" <basecompoundref ";
1293 if (bcd.classDef->isLinkable())
1300 case Public: t <<
"public";
break;
1301 case Protected: t <<
"protected";
break;
1302 case Private: t <<
"private";
break;
1308 case Normal: t <<
"non-virtual";
break;
1309 case Virtual: t <<
"virtual";
break;
1310 case Pure: t <<
"pure-virtual";
break;
1313 if (!bcd.templSpecifiers.isEmpty())
1317 bcd.classDef->name(),bcd.templSpecifiers)
1324 t <<
"</basecompoundref>\n";
1328 t <<
" <derivedcompoundref refid=\""
1333 case Public: t <<
"public";
break;
1334 case Protected: t <<
"protected";
break;
1335 case Private: t <<
"private";
break;
1341 case Normal: t <<
"non-virtual";
break;
1342 case Virtual: t <<
"virtual";
break;
1343 case Pure: t <<
"pure-virtual";
break;
1345 t <<
"\">" <<
convertToXML(bcd.classDef->displayName())
1346 <<
"</derivedcompoundref>\n";
1357 mg->documentation());
1370 t <<
" <requiresclause>";
1372 t <<
" </requiresclause>\n";
1375 t <<
" <briefdescription>\n";
1377 t <<
" </briefdescription>\n";
1378 t <<
" <detaileddescription>\n";
1380 t <<
" </detaileddescription>\n";
1382 if (!inheritanceGraph.isTrivial())
1384 t <<
" <inheritancegraph>\n";
1385 inheritanceGraph.writeXML(t);
1386 t <<
" </inheritancegraph>\n";
1389 if (!collaborationGraph.isTrivial())
1391 t <<
" <collaborationgraph>\n";
1392 collaborationGraph.writeXML(t);
1393 t <<
" </collaborationgraph>\n";
1395 t <<
" <location file=\""
1411 t <<
" </compounddef>\n";
1412 t <<
"</doxygen>\n";
1414 ti <<
" </compound>\n";
引用了 FileDef::absFilePath(), ASSERT, ClassDef::baseClasses(), Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), classOutputFileBase(), Collaboration, ClassDef::compoundTypeString(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), err(), generateXMLSection(), Definition::getBodyDef(), ClassDef::getClasses(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getEndBodyLine(), ClassDef::getFileDef(), Definition::getLanguage(), ClassDef::getMemberGroups(), ClassDef::getMemberLists(), Definition::getStartBodyLine(), ClassDef::includeInfo(), Inheritance, insertTemplateSpecifierInScope(), ClassDef::isAbstract(), Definition::isAnonymous(), Definition::isArtificial(), QCString::isEmpty(), ClassDef::isFinal(), Definition::isHidden(), ClassDef::isReference(), ClassDef::isSealed(), DotClassGraph::isTrivial(), langToString(), linkifyText(), MemberList::listType(), MemberListType_detailedLists, msg(), Definition::name(), Normal, Package, Private, Protected, ClassDef::protection(), Public, Pure, qPrint(), ClassDef::requiresClause(), QCString::str(), stripFromPath(), ClassDef::subClasses(), ClassDef::templateMaster(), Virtual, writeIncludeInfo(), writeInnerClasses(), writeListOfAllMembers(), writeTemplateList(), DotClassGraph::writeXML(), writeXMLDocBlock(), writeXMLHeader(), writeXMLString() , 以及 xmlSectionMapper().
被这些函数引用 generateXML().
◆ generateXMLForConcept()
在文件 xmlgen.cpp 第 1417 行定义.
1422 <<
"\" kind=\"concept\"" <<
"><name>"
1427 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1430 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1436 <<
"\" kind=\"concept\">\n";
1437 t <<
" <compoundname>";
1439 t <<
"</compoundname>\n";
1442 t <<
" <initializer>";
1444 t <<
" </initializer>\n";
1445 t <<
" <briefdescription>\n";
1447 t <<
" </briefdescription>\n";
1448 t <<
" <detaileddescription>\n";
1450 t <<
" </detaileddescription>\n";
1451 t <<
" <location file=\""
1455 t <<
" </compounddef>\n";
1456 t <<
"</doxygen>\n";
1458 ti <<
" </compound>\n";
引用了 Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), err(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), ConceptDef::getFileDef(), ConceptDef::getOutputFileBase(), ConceptDef::includeInfo(), ConceptDef::initializer(), Definition::isHidden(), Definition::isReference(), linkifyText(), Definition::name(), qPrint(), QCString::str(), stripFromPath(), writeIncludeInfo(), writeTemplateList(), writeXMLDocBlock(), writeXMLHeader() , 以及 writeXMLString().
被这些函数引用 generateXML().
◆ generateXMLForDir()
在文件 xmlgen.cpp 第 1712 行定义.
1721 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1724 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1730 t <<
" <compounddef id=\""
1737 t <<
" <briefdescription>\n";
1739 t <<
" </briefdescription>\n";
1740 t <<
" <detaileddescription>\n";
1742 t <<
" </detaileddescription>\n";
1744 t <<
" </compounddef>\n";
1745 t <<
"</doxygen>\n";
1747 ti <<
" </compound>\n";
引用了 Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), DirDef::displayName(), Definition::docFile(), Definition::docLine(), Definition::documentation(), err(), DirDef::getFiles(), DirDef::getOutputFileBase(), Definition::isReference(), Definition::name(), qPrint(), QCString::str(), stripFromPath(), DirDef::subDirs(), writeInnerDirs(), writeInnerFiles(), writeXMLDocBlock() , 以及 writeXMLHeader().
被这些函数引用 generateXML().
◆ generateXMLForFile()
在文件 xmlgen.cpp 第 1531 行定义.
1555 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1558 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1565 <<
"\" kind=\"file\" language=\""
1567 t <<
" <compoundname>";
1569 t <<
"</compoundname>\n";
1574 if (inc.fileDef && !inc.fileDef->isReference())
1576 t <<
" refid=\"" << inc.fileDef->getOutputFileBase() <<
"\"";
1578 t <<
" local=\"" << (inc.local ?
"yes" :
"no") <<
"\">";
1579 t << inc.includeName;
1580 t <<
"</includes>\n";
1585 t <<
" <includedby";
1586 if (inc.fileDef && !inc.fileDef->isReference())
1588 t <<
" refid=\"" << inc.fileDef->getOutputFileBase() <<
"\"";
1590 t <<
" local=\"" << (inc.local ?
"yes" :
"no") <<
"\">";
1591 t << inc.includeName;
1592 t <<
"</includedby>\n";
1596 if (!incDepGraph.isTrivial())
1598 t <<
" <incdepgraph>\n";
1599 incDepGraph.writeXML(t);
1600 t <<
" </incdepgraph>\n";
1604 if (!invIncDepGraph.isTrivial())
1606 t <<
" <invincdepgraph>\n";
1607 invIncDepGraph.writeXML(t);
1608 t <<
" </invincdepgraph>\n";
1617 mg->documentation());
1628 t <<
" <briefdescription>\n";
1630 t <<
" </briefdescription>\n";
1631 t <<
" <detaileddescription>\n";
1633 t <<
" </detaileddescription>\n";
1639 t <<
" </compounddef>\n";
1640 t <<
"</doxygen>\n";
1642 ti <<
" </compound>\n";
引用了 Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getBool, Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), err(), FALSE, generateXMLSection(), FileDef::getClasses(), Definition::getDefFileName(), Definition::getLanguage(), FileDef::getMemberGroups(), FileDef::getMemberLists(), FileDef::getNamespaces(), FileDef::getOutputFileBase(), FileDef::includedByFileList(), FileDef::includeFileList(), Definition::isReference(), DotInclDepGraph::isTrivial(), langToString(), MemberList::listType(), MemberListType_declarationLists, FileDef::name(), qPrint(), QCString::str(), stripFromPath(), TRUE, writeInnerClasses(), writeInnerNamespaces(), DotInclDepGraph::writeXML(), writeXMLCodeBlock(), writeXMLDocBlock(), writeXMLHeader(), writeXMLString() , 以及 xmlSectionMapper().
被这些函数引用 generateXML().
◆ generateXMLForGroup()
在文件 xmlgen.cpp 第 1645 行定义.
1666 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1669 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1675 t <<
" <compounddef id=\""
1689 mg->documentation());
1700 t <<
" <briefdescription>\n";
1702 t <<
" </briefdescription>\n";
1703 t <<
" <detaileddescription>\n";
1705 t <<
" </detaileddescription>\n";
1706 t <<
" </compounddef>\n";
1707 t <<
"</doxygen>\n";
1709 ti <<
" </compound>\n";
引用了 Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), err(), generateXMLSection(), GroupDef::getClasses(), GroupDef::getFiles(), GroupDef::getMemberGroups(), GroupDef::getMemberLists(), GroupDef::getNamespaces(), GroupDef::getOutputFileBase(), GroupDef::getPages(), GroupDef::getSubGroups(), GroupDef::groupTitle(), Definition::isReference(), MemberList::listType(), MemberListType_declarationLists, Definition::name(), qPrint(), QCString::str(), writeInnerClasses(), writeInnerFiles(), writeInnerGroups(), writeInnerNamespaces(), writeInnerPages(), writeXMLDocBlock(), writeXMLHeader() , 以及 xmlSectionMapper().
被这些函数引用 generateXML().
◆ generateXMLForMember()
在文件 xmlgen.cpp 第 521 行定义.
568 <<
"_1" << md->
anchor() <<
"\" kind=\"" << memType <<
"\"><name>"
577 t <<
" <memberdef kind=\"";
579 t << memType <<
"\" id=\"";
593 case Public: t <<
"public";
break;
595 case Private: t <<
"private";
break;
596 case Package: t <<
"package";
break;
601 if (md->
isStatic()) t <<
"yes";
else t <<
"no";
606 t <<
" constexpr=\"yes\"";
617 if (md->
isExplicit()) t <<
"yes";
else t <<
"no";
621 if (md->
isInline()) t <<
"yes";
else t <<
"no";
633 t <<
" final=\"yes\"";
638 t <<
" sealed=\"yes\"";
648 t <<
" optional=\"yes\"";
653 t <<
" required=\"yes\"";
658 t <<
" noexcept=\"yes\"";
663 t <<
" volatile=\"yes\"";
669 case Normal: t <<
"non-virtual";
break;
670 case Virtual: t <<
"virtual";
break;
671 case Pure: t <<
"pure-virtual";
break;
680 if (md->
isStrong()) t <<
"yes";
else t <<
"no";
691 if (md->
isMutable()) t <<
"yes";
else t <<
"no";
696 t <<
" initonly=\"yes\"";
700 t <<
" attribute=\"yes\"";
704 t <<
" property=\"yes\"";
708 t <<
" readonly=\"yes\"";
712 t <<
" bound=\"yes\"";
716 t <<
" removable=\"yes\"";
720 t <<
" constrained=\"yes\"";
724 t <<
" transient=\"yes\"";
728 t <<
" maybevoid=\"yes\"";
732 t <<
" maybedefault=\"yes\"";
736 t <<
" maybeambiguous=\"yes\"";
742 if (md->
isReadable()) t <<
"yes";
else t <<
"no";
746 if (md->
isWritable()) t <<
"yes";
else t <<
"no";
750 if (md->
isGettable()) t <<
"yes";
else t <<
"no";
753 t <<
" privategettable=\"";
757 t <<
" protectedgettable=\"";
762 if (md->
isSettable()) t <<
"yes";
else t <<
"no";
765 t <<
" privatesettable=\"";
769 t <<
" protectedsettable=\"";
777 else if (md->
isCopy()) t <<
"copy";
778 else if (md->
isRetain()) t <<
"retain";
779 else if (md->
isStrong()) t <<
"strong";
780 else if (md->
isWeak()) t <<
"weak";
787 if (md->
isAddable()) t <<
"yes";
else t <<
"no";
795 if (md->
isRaisable()) t <<
"yes";
else t <<
"no";
835 if (bitfield.
at(0)==
':') bitfield=bitfield.
mid(1);
836 t <<
" <bitfield>" <<
convertToXML(bitfield) <<
"</bitfield>\n";
842 t <<
" <reimplements refid=\""
848 t <<
" <reimplementedby refid=\""
850 <<
convertToXML(rbmd->name()) <<
"</reimplementedby>\n";
867 auto defIt = defAl.
begin();
872 if (defIt!=defAl.
end())
878 if (!a.attrib.isEmpty())
880 t <<
" <attributes>";
882 t <<
"</attributes>\n";
884 if (!a.type.isEmpty())
890 if (!a.name.isEmpty())
894 t <<
"</declname>\n";
902 if (!a.array.isEmpty())
908 if (!a.defval.isEmpty())
916 t <<
" <briefdescription>";
919 t <<
"</briefdescription>\n";
931 t <<
" <param></param>\n";
937 t <<
" <param><defname>" << a.type <<
"</defname></param>\n";
943 t <<
" <requiresclause>";
945 t <<
" </requiresclause>\n";
950 t <<
" <initializer>";
952 t <<
"</initializer>\n";
957 t <<
" <exceptions>";
959 t <<
"</exceptions>\n";
967 <<
"_1" << emd->anchor() <<
"\" kind=\"enumvalue\"><name>"
971 << emd->anchor() <<
"\" prot=\"";
972 switch (emd->protection())
974 case Public: t <<
"public";
break;
976 case Private: t <<
"private";
break;
977 case Package: t <<
"package";
break;
983 if (!emd->initializer().isEmpty())
985 t <<
" <initializer>";
987 t <<
"</initializer>\n";
989 t <<
" <briefdescription>\n";
990 writeXMLDocBlock(t,emd->briefFile(),emd->briefLine(),emd->getOuterScope(),emd,emd->briefDescription());
991 t <<
" </briefdescription>\n";
992 t <<
" <detaileddescription>\n";
993 writeXMLDocBlock(t,emd->docFile(),emd->docLine(),emd->getOuterScope(),emd,emd->documentation());
994 t <<
" </detaileddescription>\n";
995 t <<
" </enumvalue>\n";
998 t <<
" <briefdescription>\n";
1000 t <<
" </briefdescription>\n";
1001 t <<
" <detaileddescription>\n";
1003 t <<
" </detaileddescription>\n";
1004 t <<
" <inbodydescription>\n";
1006 t <<
" </inbodydescription>\n";
1009 t <<
" <location file=\""
1034 for (
const auto &refmd : refList)
1039 for (
const auto &refmd : refByList)
1044 t <<
" </memberdef>\n";
引用了 FileDef::absFilePath(), MemberDef::anchor(), MemberDef::argsString(), MemberDef::argumentList(), ASSERT, QCString::at(), ArgumentList::begin(), MemberDef::bitfieldString(), MemberDef::briefDescription(), Definition::briefFile(), Definition::briefLine(), ArgumentList::constSpecifier(), convertToXML(), MemberDef::declArgumentList(), MemberDef::definition(), Definition::definitionType(), Definition::docFile(), Definition::docLine(), Argument::docs, MemberDef::documentation(), ArgumentList::empty(), ArgumentList::end(), MemberDef::enumBaseType(), MemberDef::enumFieldList(), MemberDef::excpString(), FALSE, Definition::getBodyDef(), MemberDef::getClassDef(), MemberDef::getDeclColumn(), MemberDef::getDeclFileName(), MemberDef::getDeclLine(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getEndBodyLine(), MemberDef::getFileDef(), MemberDef::getGroupDef(), MemberDef::getNamespaceDef(), Definition::getOuterScope(), GroupDef::getOutputFileBase(), MemberDef::getReadAccessor(), Definition::getReferencedByMembers(), Definition::getReferencesMembers(), Definition::getStartBodyLine(), MemberDef::getWriteAccessor(), Argument::hasDocumentation(), MemberDef::hasMultiLineInitializer(), MemberDef::hasOneLineInitializer(), ArgumentList::hasParameters(), Definition::inbodyDocumentation(), Definition::inbodyLine(), MemberDef::initializer(), MemberDef::isAddable(), MemberDef::isAssign(), MemberDef::isAttribute(), MemberDef::isBound(), MemberDef::isConstExpr(), MemberDef::isConstrained(), MemberDef::isCopy(), QCString::isEmpty(), MemberDef::isExplicit(), MemberDef::isFinal(), MemberDef::isFriendClass(), MemberDef::isGettable(), Definition::isHidden(), MemberDef::isInitonly(), MemberDef::isInline(), MemberDef::isMaybeAmbiguous(), MemberDef::isMaybeDefault(), MemberDef::isMaybeVoid(), MemberDef::isMutable(), MemberDef::isNew(), MemberDef::isNoExcept(), MemberDef::isOptional(), MemberDef::isPrivateGettable(), MemberDef::isPrivateSettable(), MemberDef::isProtectedGettable(), MemberDef::isProtectedSettable(), MemberDef::isRaisable(), MemberDef::isReadable(), MemberDef::isReadonly(), MemberDef::isRemovable(), MemberDef::isRequired(), MemberDef::isRetain(), MemberDef::isSealed(), MemberDef::isSettable(), MemberDef::isStatic(), MemberDef::isStrong(), MemberDef::isTransient(), MemberDef::isUNOProperty(), MemberDef::isWeak(), MemberDef::isWritable(), linkifyText(), memberOutputFileBase(), MemberDef::memberType(), MemberType_DCOP, MemberType_Define, MemberType_Dictionary, MemberType_Enumeration, MemberType_EnumValue, MemberType_Event, MemberType_Friend, MemberType_Function, MemberType_Interface, MemberType_Property, MemberType_Sequence, MemberType_Service, MemberType_Signal, MemberType_Slot, MemberType_Typedef, MemberType_Variable, QCString::mid(), Argument::name, Definition::name(), Normal, Package, Private, Protected, MemberDef::protection(), Public, Pure, ArgumentList::refQualifier(), RefQualifierLValue, RefQualifierNone, MemberDef::reimplementedBy(), MemberDef::reimplements(), MemberDef::requiresClause(), stripFromPath(), stripQualifiers(), TRUE, Definition::TypeGroup, MemberDef::typeString(), Virtual, MemberDef::virtualness(), ArgumentList::volatileSpecifier(), writeMemberReference(), writeMemberTemplateLists(), writeXMLDocBlock() , 以及 writeXMLString().
被这些函数引用 generateXMLSection().
◆ generateXMLForNamespace()
在文件 xmlgen.cpp 第 1461 行定义.
1475 <<
"\" kind=\"namespace\"" <<
"><name>"
1480 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1483 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1490 <<
"\" kind=\"namespace\" "
1491 << (nd->
isInline()?
"inline=\"yes\" ":
"")
1494 t <<
" <compoundname>";
1496 t <<
"</compoundname>\n";
1504 mg->documentation());
1515 t <<
" <briefdescription>\n";
1517 t <<
" </briefdescription>\n";
1518 t <<
" <detaileddescription>\n";
1520 t <<
" </detaileddescription>\n";
1521 t <<
" <location file=\""
1525 t <<
" </compounddef>\n";
1526 t <<
"</doxygen>\n";
1528 ti <<
" </compound>\n";
引用了 Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), err(), generateXMLSection(), NamespaceDef::getClasses(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getLanguage(), NamespaceDef::getMemberGroups(), NamespaceDef::getMemberLists(), NamespaceDef::getNamespaces(), NamespaceDef::getOutputFileBase(), Definition::isHidden(), NamespaceDef::isInline(), Definition::isReference(), langToString(), MemberList::listType(), MemberListType_declarationLists, Definition::name(), qPrint(), QCString::str(), stripFromPath(), writeInnerClasses(), writeInnerNamespaces(), writeXMLDocBlock(), writeXMLHeader(), writeXMLString() , 以及 xmlSectionMapper().
被这些函数引用 generateXML().
◆ generateXMLForPage()
在文件 xmlgen.cpp 第 1750 行定义.
1757 const char *kindName = isExample ?
"example" :
"page";
1766 if (pageName==
"index") pageName=
"indexpage";
1768 ti <<
" <compound refid=\"" << pageName
1773 QCString fileName=outputDirectory+
"/"+pageName+
".xml";
1774 std::ofstream f(fileName.
str(),std::ofstream::out | std::ofstream::binary);
1777 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
1783 t <<
" <compounddef id=\"" << pageName;
1784 t <<
"\" kind=\"" << kindName <<
"\">\n";
1786 <<
"</compoundname>\n";
1815 t <<
" <tableofcontents>\n";
1824 int nextLevel = (int)si->
type();
1825 if (nextLevel>level)
1827 for (l=level;l<nextLevel;l++)
1829 if (l < maxLevel) t <<
" <tableofcontents>\n";
1832 else if (nextLevel<level)
1834 for (l=level;l>nextLevel;l--)
1836 if (l <= maxLevel && inLi[l]) t <<
" </tocsect>\n";
1838 if (l <= maxLevel) t <<
" </tableofcontents>\n";
1841 if (nextLevel <= maxLevel)
1843 if (inLi[nextLevel]) t <<
" </tocsect>\n";
1845 t <<
" <tocsect>\n";
1848 inLi[nextLevel]=
TRUE;
1853 while (level>1 && level <= maxLevel)
1855 if (inLi[level]) t <<
" </tocsect>\n";
1857 t <<
" </tableofcontents>\n";
1860 if (level <= maxLevel && inLi[level]) t <<
" </tocsect>\n";
1862 t <<
" </tableofcontents>\n";
1864 t <<
" <briefdescription>\n";
1866 t <<
" </briefdescription>\n";
1867 t <<
" <detaileddescription>\n";
1878 t <<
" </detaileddescription>\n";
1882 t <<
" </compounddef>\n";
1883 t <<
"</doxygen>\n";
1885 ti <<
" </compound>\n";
引用了 Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertCharEntitiesToUTF8(), convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), SectionRefs::empty(), err(), FALSE, filterTitle(), LinkedMap< T, Hash, KeyEqual, Map >::find(), Definition::getDefFileName(), PageDef::getGroupDef(), PageDef::getOutputFileBase(), Definition::getSectionRefs(), PageDef::getSubPages(), SectionManager::instance(), Definition::isReference(), isSection(), LocalToc::isXmlEnabled(), PageDef::localToc(), Doxygen::mainPage, mainPageHasTitle(), Definition::name(), qPrint(), QCString::str(), stripFromPath(), SectionInfo::title(), TRUE, writeInnerPages(), writeXMLDocBlock(), writeXMLHeader() , 以及 LocalToc::xmlLevel().
被这些函数引用 generateXML().
◆ generateXMLSection()
◆ memberOutputFileBase()
◆ memberVisible()
◆ stripQualifiers()
static void stripQualifiers |
( |
QCString & |
typeStr | ) |
|
|
static |
◆ writeCombineScript()
static void writeCombineScript |
( |
| ) |
|
|
static |
在文件 xmlgen.cpp 第 161 行定义.
164 QCString fileName=outputDirectory+
"/combine.xslt";
165 std::ofstream t(fileName.
str(),std::ofstream::out | std::ofstream::binary);
168 err(
"Cannot open file %s for writing!\n",
qPrint(fileName));
173 "<!-- XSLT script to combine the generated output into a single file. \n"
174 " If you have xsltproc you could use:\n"
175 " xsltproc combine.xslt index.xml >all.xml\n"
177 "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">\n"
178 " <xsl:output method=\"xml\" version=\"1.0\" indent=\"no\" standalone=\"yes\" />\n"
179 " <xsl:template match=\"/\">\n"
180 " <doxygen version=\"{doxygenindex/@version}\" xml:lang=\"{doxygenindex/@xml:lang}\">\n"
181 " <!-- Load all doxygen generated xml files -->\n"
182 " <xsl:for-each select=\"doxygenindex/compound\">\n"
183 " <xsl:copy-of select=\"document( concat( @refid, '.xml' ) )/doxygen/*\" />\n"
187 "</xsl:stylesheet>\n";
引用了 Config_getString, err(), qPrint() , 以及 QCString::str().
被这些函数引用 generateXML().
◆ writeIncludeInfo()
◆ writeInnerClasses()
◆ writeInnerDirs()
◆ writeInnerFiles()
◆ writeInnerGroups()
◆ writeInnerNamespaces()
◆ writeInnerPages()
◆ writeListOfAllMembers()
在文件 xmlgen.cpp 第 1093 行定义.
1095 t <<
" <listofallmembers>\n";
1098 for (
auto &mi : *mni)
1106 md->
anchor() <<
"\" prot=\"";
1109 case Public: t <<
"public";
break;
1110 case Protected: t <<
"protected";
break;
1111 case Private: t <<
"private";
break;
1112 case Package: t <<
"package";
break;
1117 case Normal: t <<
"non-virtual";
break;
1118 case Virtual: t <<
"virtual";
break;
1119 case Pure: t <<
"pure-virtual";
break;
1122 if (!mi->ambiguityResolutionScope().isEmpty())
1124 t <<
" ambiguityscope=\"" <<
convertToXML(mi->ambiguityResolutionScope()) <<
"\"";
1131 t <<
" </listofallmembers>\n";
引用了 MemberDef::anchor(), convertToXML(), Definition::isAnonymous(), ClassDef::memberNameInfoLinkedMap(), memberOutputFileBase(), Definition::name(), Normal, Package, Private, Protected, Public, Pure, Virtual , 以及 MemberDef::virtualness().
被这些函数引用 generateXMLForClass().
◆ writeMemberReference()
在文件 xmlgen.cpp 第 465 行定义.
473 t <<
" <" << tagName <<
" refid=\"";
484 t <<
">" <<
convertToXML(name) <<
"</" << tagName <<
">\n";
引用了 MemberDef::anchor(), convertToXML(), Definition::getBodyDef(), Definition::getEndBodyLine(), Definition::getLanguage(), getLanguageSpecificSeparator(), MemberDef::getOutputFileBase(), FileDef::getOutputFileBase(), MemberDef::getScopeString(), Definition::getStartBodyLine(), QCString::isEmpty(), Definition::name() , 以及 QCString::prepend().
被这些函数引用 generateXMLForMember().
◆ writeMemberTemplateLists()
◆ writeTemplateArgumentList()
在文件 xmlgen.cpp 第 359 行定义.
366 indentStr.
fill(
' ',indent);
369 t << indentStr <<
"<templateparamlist>\n";
372 t << indentStr <<
" <param>\n";
373 if (!a.type.isEmpty())
375 t << indentStr <<
" <type>";
379 if (!a.name.isEmpty())
381 t << indentStr <<
" <declname>" <<
convertToXML(a.name) <<
"</declname>\n";
382 t << indentStr <<
" <defname>" <<
convertToXML(a.name) <<
"</defname>\n";
384 if (!a.defval.isEmpty())
386 t << indentStr <<
" <defval>";
390 if (!a.typeConstraint.isEmpty())
392 t << indentStr <<
" <typeconstraint>";
394 t <<
"</typeconstraint>\n";
396 t << indentStr <<
" </param>\n";
398 t << indentStr <<
"</templateparamlist>\n";
引用了 convertToXML(), QCString::fill(), ArgumentList::hasParameters() , 以及 linkifyText().
被这些函数引用 writeMemberTemplateLists() , 以及 writeTemplateList().
◆ writeTemplateList() [1/2]
◆ writeTemplateList() [2/2]
◆ writeXMLCodeBlock()
在文件 xmlgen.cpp 第 440 行定义.
444 intf->resetCodeParserState();
447 intf->parseCode(*xmlGen,
引用了 FileDef::absFilePath(), Config_getBool, XMLCodeGenerator::endCodeFragment(), FALSE, fileToString(), XMLCodeGenerator::finish(), ParserManager::getCodeParser(), Definition::getDefFileExtension(), getLanguageFromFileName(), Doxygen::parserManager, XMLCodeGenerator::startCodeFragment() , 以及 TRUE.
被这些函数引用 generateXMLForFile().
◆ writeXMLCodeString()
在文件 xmlgen.cpp 第 115 行定义.
118 const char *s = str.
data();
127 int spacesToNextTabStop = tabSize - (col%tabSize);
128 col+=spacesToNextTabStop;
129 while (spacesToNextTabStop--) t <<
"<sp/>";
132 case ' ': t <<
"<sp/>"; col++;
break;
133 case '<': t <<
"<"; col++;
break;
134 case '>': t <<
">"; col++;
break;
135 case '&': t <<
"&"; col++;
break;
136 case '\'': t <<
"'"; col++;
break;
137 case '"': t <<
"""; col++;
break;
138 case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
139 case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
140 case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
141 case 27:
case 28:
case 29:
case 30:
case 31:
143 t <<
"<sp value=\"" << int(c) <<
"\"/>";
引用了 Config_getInt, QCString::data(), QCString::isEmpty() , 以及 writeUTF8Char().
被这些函数引用 XMLCodeGenerator::codify().
◆ writeXMLDocBlock()
在文件 xmlgen.cpp 第 417 行定义.
432 auto xmlCodeGen = std::make_unique<XMLCodeGenerator>(t);
436 root->accept(visitor.get());
引用了 Config_getBool, createDocParser(), FALSE, Definition::getDefFileExtension(), QCString::isEmpty(), QCString::stripWhiteSpace() , 以及 validatingParseDoc().
被这些函数引用 generateXMLForClass(), generateXMLForConcept(), generateXMLForDir(), generateXMLForFile(), generateXMLForGroup(), generateXMLForMember(), generateXMLForNamespace(), generateXMLForPage() , 以及 generateXMLSection().
◆ writeXMLHeader()
◆ writeXMLLink()
◆ writeXMLString()
◆ xmlSectionMapper()
◆ g_xmlSectionMap
virtual QCString requiresClause() const =0
static void writeTemplateArgumentList(TextStream &t, const ArgumentList &al, const Definition *scope, const FileDef *fileScope, int indent)
virtual QCString getDefFileExtension() const =0
RefQualifierType refQualifier() const
bool copyResource(const QCString &name, const QCString &targetDir) const
Copies a registered resource to a given target directory
virtual LocalToc localToc() const =0
virtual const MemberLists & getMemberLists() const =0
static void writeInnerNamespaces(const NamespaceLinkedRefMap &nl, TextStream &t)
virtual QCString getOutputFileBase() const =0
static ResourceMgr & instance()
Returns the one and only instance of this class
void writeXMLSchema(TextStream &t)
virtual int getDeclColumn() const =0
virtual QCString getOutputFileBase() const =0
static void generateXMLForGroup(const GroupDef *gd, TextStream &ti)
static void generateXMLSection(const Definition *d, TextStream &ti, TextStream &t, const MemberList *ml, const QCString &kind, const QCString &header=QCString(), const QCString &documentation=QCString())
static void generateXMLForFile(FileDef *fd, TextStream &ti)
QCString langToString(SrcLangExt lang)
Returns a string representation of lang.
virtual int docLine() const =0
virtual int getDeclLine() const =0
virtual bool isConstrained() const =0
static std::unique_ptr< PageDef > mainPage
Protection
Protection level of members
virtual QCString argsString() const =0
static void generateXMLForDir(DirDef *dd, TextStream &ti)
virtual QCString briefDescription(bool abbr=FALSE) const =0
virtual int getDefColumn() const =0
QCString getAsString(const QCString &name) const
Gets the resource data as a C string
static void writeXMLHeader(TextStream &t)
virtual QCString documentation() const =0
virtual bool isStatic() const =0
Class representing a directory in the file system
void startCodeFragment(const QCString &) override
virtual QCString getOutputFileBase() const =0
virtual const ClassLinkedRefMap & getClasses() const =0
virtual bool isMaybeDefault() const =0
static void generateXMLForMember(const MemberDef *md, TextStream &ti, TextStream &t, const Definition *def)
static void writeInnerPages(const PageLinkedRefMap &pl, TextStream &t)
virtual bool isMaybeVoid() const =0
static void generateXMLForPage(PageDef *pd, TextStream &ti, bool isExample)
This class represents an function or template argument list.
virtual bool isAttribute() const =0
static ConceptLinkedMap * conceptLinkedMap
virtual QCString compoundTypeString() const =0
Returns the type of compound as a string
virtual bool isInitonly() const =0
virtual int getDefLine() const =0
QCString filterTitle(const QCString &title)
bool isEmpty() const
Returns TRUE iff the string is empty
static const char * xmlSectionMapper(MemberListType ml)
virtual const MemberLists & getMemberLists() const =0
virtual const NamespaceLinkedRefMap & getNamespaces() const =0
virtual const GroupDef * getGroupDef() const =0
static PageLinkedMap * pageLinkedMap
virtual const MemberLists & getMemberLists() const =0
Returns the list containing the list of members sorted per type
virtual QCString groupTitle() const =0
static void stripQualifiers(QCString &typeStr)
void writeXMLString(TextStream &t, const QCString &s)
virtual const IncludeInfo * includeInfo() const =0
virtual QCString bitfieldString() const =0
virtual const PageLinkedRefMap & getSubPages() const =0
virtual const FileList & getFiles() const =0
virtual bool hasMultiLineInitializer() const =0
virtual const MemberVector & getReferencedByMembers() const =0
SrcLangExt
Language as given by extension
virtual bool isInline() const =0
virtual bool isInline() const =0
Specifier
Virtualness of a member.
virtual bool isHidden() const =0
virtual bool isFriendClass() const =0
static void writeXMLDocBlock(TextStream &t, const QCString &fileName, int lineNr, const Definition *scope, const MemberDef *md, const QCString &text)
virtual bool isProtectedGettable() const =0
virtual bool isFinal() const =0
Returns TRUE if this class is marked as final
virtual bool isRetain() const =0
virtual const IncludeInfoList & includedByFileList() const =0
void err(const char *fmt,...)
virtual int inbodyLine() const =0
virtual const GroupList & getSubGroups() const =0
static std::map< MemberListType, std::string > g_xmlSectionMap
char & at(size_t i)
Returns a reference to the character at index i.
static void generateXMLForClass(const ClassDef *cd, TextStream &ti)
Text streaming class that buffers data.
static DirLinkedMap * dirLinkedMap
virtual Protection protection() const =0
Return the protection level (Public,Protected,Private) in which this compound was found.
static void writeCombineScript()
virtual int briefLine() const =0
static void writeInnerFiles(const FileList &fl, TextStream &t)
virtual const IncludeInfo * includeInfo() const =0
virtual const MemberGroupList & getMemberGroups() const =0
static QCString memberOutputFileBase(const MemberDef *md)
bool volatileSpecifier() const
virtual bool isWeak() const =0
virtual FileDef * getFileDef() const =0
Returns the namespace this compound is in, or 0 if it has a global scope.
virtual const QCString & docName() const =0
static HtmlEntityMapper * instance()
Returns the one and only instance of the HTML entity mapper
virtual QCString docFile() const =0
static void generateXMLForNamespace(const NamespaceDef *nd, TextStream &ti)
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
bool hasParameters() const
@ MemberListType_declarationLists
virtual QCString getReadAccessor() const =0
virtual const ClassLinkedRefMap & getClasses() const =0
virtual bool isConstExpr() const =0
virtual const ClassDef * templateMaster() const =0
Returns the template master of which this class is an instance.
virtual bool isNew() const =0
static FileNameLinkedMap * inputNameLinkedMap
virtual QCString trISOLang()=0
virtual QCString anchor() const =0
virtual bool isRequired() const =0
virtual const FileDef * getBodyDef() const =0
virtual QCString getOutputFileBase() const =0
A model of a class/file/namespace member symbol.
static void writeTemplateList(const ClassDef *cd, TextStream &t)
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
static void writeMemberTemplateLists(const MemberDef *md, TextStream &t)
#define Config_getInt(name)
virtual QCString initializer() const =0
virtual QCString excpString() const =0
virtual QCString name() const =0
virtual const MemberNameInfoLinkedMap & memberNameInfoLinkedMap() const =0
Returns a dictionary of all members.
virtual Specifier virtualness(int count=0) const =0
virtual bool isRaisable() const =0
virtual const MemberVector & enumFieldList() const =0
virtual const MemberVector & getReferencesMembers() const =0
static ParserManager * parserManager
virtual bool isAnonymous() const =0
virtual ArgumentList getTemplateParameterList() const =0
virtual QCString getOutputFileBase() const =0
Returns the unique base name (without extension) of the class's file on disk
virtual const BaseClassList & baseClasses() const =0
Returns the list of base classes from which this class directly inherits.
virtual const MemberGroupList & getMemberGroups() const =0
virtual ClassLinkedRefMap getClasses() const =0
static bool memberVisible(const Definition *d, const MemberDef *md)
Translator * theTranslator
virtual bool isReference() const =0
virtual QCString inbodyDocumentation() const =0
virtual QCString name() const =0
static GroupLinkedMap * groupLinkedMap
virtual ClassLinkedRefMap getClasses() const =0
returns the classes nested into this class
This class contains the information about the argument of a function or template
virtual QCString definition() const =0
virtual const ClassDef * getClassDef() const =0
virtual bool isFinal() const =0
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)
virtual bool isMutable() const =0
static void writeIncludeInfo(const IncludeInfo *ii, TextStream &t)
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
Returns the scope separator to use given the programming language lang
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
std::unique_ptr< CodeParserInterface > getCodeParser(const QCString &extension)
Gets the interface to the parser associated with a given extension.
static void writeInnerDirs(const DirList *dl, TextStream &t)
void linkifyText(const TextGeneratorIntf &out, const Definition *scope, const FileDef *fileScope, const Definition *self, const QCString &text, bool autoBreak, bool external, bool keepSpaces, int indentLevel)
SrcLangExt getLanguageFromFileName(const QCString &fileName, SrcLangExt defLang)
virtual QCString briefDescription(bool abbreviate=FALSE) const =0
virtual const NamespaceLinkedRefMap & getNamespaces() const =0
virtual int getStartBodyLine() const =0
virtual int getEndBodyLine() const =0
virtual const NamespaceDef * getNamespaceDef() const =0
bool constSpecifier() const
virtual const MemberDef * reimplements() const =0
virtual Protection protection() const =0
const T * find(const std::string &key) const
Find an object given the key.
virtual NamespaceLinkedRefMap getNamespaces() const =0
QCString insertTemplateSpecifierInScope(const QCString &scope, const QCString &templ)
bool fill(char c, int len=-1)
Fills a string with a predefined character
virtual bool isStrong() const =0
virtual bool isWritable() const =0
Implements TextGeneratorIntf for an XML stream.
Representation of a class inheritance or dependency graph
virtual DefType definitionType() const =0
virtual const BaseClassList & subClasses() const =0
Returns the list of sub classes that directly derive from this class
virtual QCString getDeclFileName() const =0
virtual QCString briefFile() const =0
virtual bool hasOneLineInitializer() const =0
void clearSubDirs(const Dir &d)
virtual const SectionRefs & getSectionRefs() const =0
returns the section dictionary, only of importance for pagedef
virtual const MemberLists & getMemberLists() const =0
virtual const PageLinkedRefMap & getPages() const =0
const char * writeUTF8Char(TextStream &t, const char *s)
Writes the UTF8 character pointed to by s to stream t and returns a pointer to the next character.
static void writeListOfAllMembers(const ClassDef *cd, TextStream &t)
virtual bool isSettable() const =0
virtual const MemberVector & reimplementedBy() const =0
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
virtual bool isAddable() const =0
virtual const ArgumentList & templateArguments() const =0
@ MemberListType_detailedLists
virtual QCString getOutputFileBase() const =0
virtual bool isAbstract() const =0
Returns TRUE if there is at least one pure virtual member in this class.
virtual bool isPrivateGettable() const =0
#define Config_getBool(name)
virtual QCString getOutputFileBase() const =0
virtual bool isRemovable() const =0
virtual QCString getScopeString() const =0
static SectionManager & instance()
returns a reference to the singleton
static void writeInnerGroups(const GroupList &gl, TextStream &t)
virtual bool isUNOProperty() const =0
void msg(const char *fmt,...)
virtual bool isSealed() const =0
virtual QCString documentation() const =0
virtual const ArgumentList & declArgumentList() const =0
virtual bool isReference() const =0
Returns TRUE if this class is imported via a tag file
virtual bool isReadonly() const =0
virtual bool isExplicit() const =0
virtual Definition * getOuterScope() const =0
virtual QCString absFilePath() const =0
virtual bool isArtificial() const =0
const char * qPrint(const char *s)
class that represents a list of constant references to sections.
virtual const FileDef * getFileDef() const =0
#define Config_getString(name)
constexpr bool isSection(SectionType type)
return true if type is a section, and false if it is a page, anchor or table.
virtual QCString getDefFileName() const =0
class that provide information about a section.
virtual const ArgumentList & argumentList() const =0
QCString convertCharEntitiesToUTF8(const QCString &str)
static NamespaceLinkedMap * namespaceLinkedMap
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string
virtual const FileList & getFiles() const =0
QCString convertToXML(const QCString &s, bool keepEntities)
virtual bool isGettable() const =0
A model of a file symbol.
void endCodeFragment(const QCString &) override
virtual const MemberGroupList & getMemberGroups() const =0
virtual QCString enumBaseType() const =0
virtual const FileDef * getFileDef() const =0
Representation of an include dependency graph
static void writeMemberReference(TextStream &t, const Definition *def, const MemberDef *rmd, const QCString &tagName)
virtual QCString getWriteAccessor() const =0
static QCString stripFromPath(const QCString &path, const StringVector &l)
void writeXMLCodeBlock(TextStream &t, FileDef *fd)
bool isXmlEnabled() const
virtual bool isNoExcept() const =0
virtual QCString displayName(bool=TRUE) const =0
static void generateXMLForConcept(const ConceptDef *cd, TextStream &ti)
virtual bool isSealed() const =0
Returns TRUE if this class is marked as sealed
virtual bool isReadable() const =0
virtual bool isMaybeAmbiguous() const =0
virtual const MemberGroupList & getMemberGroups() const =0
Returns the member groups defined for this class
virtual const DirList & subDirs() const =0
virtual bool isCopy() const =0
void writeXMLDoxyfile(TextStream &t)
virtual bool isOptional() const =0
static ClassLinkedMap * classLinkedMap
virtual const QCString & initializer() const =0
virtual QCString getOutputFileBase() const =0
void createSubDirs(const Dir &d)
virtual QCString typeString() const =0
virtual bool isPrivateSettable() const =0
virtual QCString requiresClause() const =0
bool hasDocumentation() const
bool stripPrefix(const QCString &prefix)
QCString & prepend(const char *s)
virtual MemberType memberType() const =0
static void writeInnerClasses(const ClassLinkedRefMap &cl, TextStream &t)
virtual const ArgumentList & templateArguments() const =0
Returns the template arguments of this class
virtual bool isBound() const =0
virtual bool isProtectedSettable() const =0
virtual const GroupDef * getGroupDef() const =0
static QCString classOutputFileBase(const ClassDef *cd)
virtual bool isTransient() const =0
virtual bool isAssign() const =0
std::unique_ptr< IDocParser > createDocParser()
static PageLinkedMap * exampleLinkedMap
virtual const IncludeInfoList & includeFileList() const =0
This is an alternative implementation of QCString.