Doxygen
context.cpp 文件参考
#include <assert.h>
#include <sstream>
#include "context.h"
#include "config.h"
#include "index.h"
#include "classlist.h"
#include "doxygen.h"
#include "namespacedef.h"
#include "filedef.h"
#include "pagedef.h"
#include "groupdef.h"
#include "util.h"
#include "version.h"
#include "language.h"
#include "message.h"
#include "vhdldocgen.h"
#include "filename.h"
#include "dirdef.h"
#include "docparser.h"
#include "htmlgen.h"
#include "htmldocvisitor.h"
#include "htmlhelp.h"
#include "latexgen.h"
#include "latexdocvisitor.h"
#include "dot.h"
#include "dotcallgraph.h"
#include "dotclassgraph.h"
#include "dotdirdeps.h"
#include "dotgfxhierarchytable.h"
#include "dotgroupcollaboration.h"
#include "dotincldepgraph.h"
#include "diagram.h"
#include "example.h"
#include "membername.h"
#include "parserintf.h"
#include "portable.h"
#include "arguments.h"
#include "searchindex.h"
#include "resourcemgr.h"
#include "dir.h"
+ context.cpp 的引用(Include)关系图:

浏览源代码.

struct  ContextGlobals
 
class  CachedItem< T, TOwner, creator >
 Wrapper for data that needs to be cached. 更多...
 
class  PropertyMap< T >
 Class representing a mapping of properties and the corresponding getter function. 更多...
 
class  GenericConstIterator
 Template List iterator support 更多...
 
class  GenericNodeListContext
 standard template list implementation 更多...
 
class  ConfigContext::Private
 
class  DoxygenContext::Private
 
class  TranslateContext::Private
 
class  DefinitionContext< T >
 
struct  DefinitionContext< T >::Cachable
 
class  IncludeInfoContext::Private
 
class  IncludeInfoListContext::Private
 
class  ClassContext::Private
 
struct  ClassContext::Private::Cachable
 
class  NamespaceContext::Private
 
struct  NamespaceContext::Private::Cachable
 
class  FileContext::Private
 
struct  FileContext::Private::Cachable
 
class  DirContext::Private
 
struct  DirContext::Private::Cachable
 
class  PageContext::Private
 
struct  PageContext::Private::Cachable
 
class  TextGeneratorHtml
 
class  TextGeneratorLatex
 
class  TextGeneratorFactory
 
class  MemberContext::Private
 
struct  MemberContext::Private::Cachable
 
class  ConceptContext::Private
 
struct  ConceptContext::Private::Cachable
 
class  ModuleContext::Private
 
struct  ModuleContext::Private::Cachable
 
class  ClassListContext::Private
 
class  ClassIndexContext::Private
 
class  ClassHierarchyContext::Private
 
class  NestingNodeContext::Private
 
class  NestingContext::Private
 
class  ClassTreeContext::Private
 
class  ConceptListContext::Private
 
class  NamespaceListContext::Private
 
class  NamespaceTreeContext::Private
 
class  FileListContext::Private
 
class  DirListContext::Private
 
class  UsedFilesContext::Private
 
class  FileTreeContext::Private
 
class  PageTreeContext::Private
 
class  PageListContext::Private
 
class  ExampleListContext::Private
 
class  ModuleListContext::Private
 
class  ConceptTreeContext::Private
 
class  ModuleTreeContext::Private
 
class  ExampleTreeContext::Private
 
class  NavPathElemContext::Private
 
class  GlobalsIndexContext::Private
 
class  ClassMembersIndexContext::Private
 
class  NamespaceMembersIndexContext::Private
 
class  InheritanceGraphContext::Private
 
class  InheritanceNodeContext::Private
 
class  InheritanceListContext::Private
 
class  MemberListContext::Private
 
class  MemberInfoContext::Private
 
class  AllMembersListContext::Private
 
class  MemberGroupInfoContext::Private
 
class  MemberGroupListContext::Private
 
class  MemberListInfoContext::Private
 
class  InheritedMemberInfoContext::Private
 
class  InheritedMemberInfoListContext::Private
 
class  ArgumentContext::Private
 
class  ArgumentListContext::Private
 
class  SymbolContext::Private
 
class  SymbolListContext::Private
 
class  SymbolGroupContext::Private
 
class  SymbolGroupListContext::Private
 
class  SymbolIndexContext::Private
 
class  SymbolIndicesContext::Private
 
class  SearchIndexContext::Private
 
class  SearchIndicesContext::Private
 
class  HtmlEscaper
 
class  LatexSpaceless
 
class  HtmlSpaceless
 
class  LatexEscaper
 

宏定义

#define BASE_PROPERTIES
 

枚举

enum  ContextOutputFormat {
  ContextOutputFormat_Unspecified =0, ContextOutputFormat_Html, ContextOutputFormat_Latex, ContextOutputFormat_Rtf,
  ContextOutputFormat_ManPage, ContextOutputFormat_DocBook, ContextOutputFormat_Xml, ContextOutputFormat_TagFile
}
 

函数

static TemplateVariant parseDoc (const Definition *def, const QCString &file, int line, const QCString &relPath, const QCString &docStr, bool isBrief)
 
static TemplateVariant parseCode (const Definition *d, const QCString &scopeName, const QCString &relPath, const QCString &code, int startLine=-1, int endLine=-1, bool showLineNumbers=FALSE)
 
static TemplateVariant parseCode (const FileDef *fd, const QCString &relPath)
 
TemplateVariant createLinkedText (const Definition *def, const QCString &relPath, const QCString &text)
 
static int computeMaxDepth (const TemplateListIntfPtr list)
 
static int computeNumNodesAtLevel (const TemplateStructIntfPtr s, int level, int maxLevel)
 
static int computePreferredDepth (const TemplateListIntfPtr list, int maxDepth)
 
void generateOutputViaTemplate ()
 
void generateTemplateFiles (const QCString &templateDir)
 

变量

struct ContextGlobals g_globals
 

宏定义说明

◆ BASE_PROPERTIES

#define BASE_PROPERTIES
值:
{ "name", &Private::name }, \
{ "bareName", &Private::bareName }, \
{ "relPath", &Private::relPath }, \
{ "fileName", &Private::fileName }, \
{ "anchor", &Private::anchor }, \
{ "details", &Private::details }, \
{ "brief", &Private::brief }, \
{ "inbodyDocs", &Private::inbodyDocs }, \
{ "sourceFileName", &Private::sourceFileName }, \
{ "isLinkable", &Private::isLinkable }, \
{ "isLinkableInProject",&Private::isLinkableInProject }, \
{ "dynSectionId", &Private::dynSectionId }, \
{ "language", &Private::language }, \
{ "sourceDef", &Private::sourceDef }, \
{ "navigationPath", &Private::navigationPath }, \
{ "partOfGroups", &Private::partOfGroups }, \
{ "compoundKind", &Private::compoundKind }, \
{ "isReference", &Private::isReference }, \
{ "externalReference", &Private::externalReference }

在文件 context.cpp1570 行定义.

枚举类型说明

◆ ContextOutputFormat

枚举值
ContextOutputFormat_Unspecified 
ContextOutputFormat_Html 
ContextOutputFormat_Latex 
ContextOutputFormat_Rtf 
ContextOutputFormat_ManPage 
ContextOutputFormat_DocBook 
ContextOutputFormat_Xml 
ContextOutputFormat_TagFile 

在文件 context.cpp62 行定义.

函数说明

◆ computeMaxDepth()

static int computeMaxDepth ( const TemplateListIntfPtr  list)
static

在文件 context.cpp5129 行定义.

5130 {
5131  int maxDepth=0;
5132  if (list)
5133  {
5134  TemplateListIntf::ConstIteratorPtr it = list->createIterator();
5135  TemplateVariant v;
5136  for (it->toFirst();it->current(v);it->toNext())
5137  {
5138  const TemplateStructIntfPtr s = v.toStruct();
5139  TemplateVariant child = s->get("children");
5140  int d = computeMaxDepth(child.toList())+1;
5141  if (d>maxDepth) maxDepth=d;
5142  }
5143  }
5144  return maxDepth;
5145 }

引用了 TemplateVariant::toList() , 以及 TemplateVariant::toStruct().

被这些函数引用 ClassHierarchyContext::Private::createMaxDepth(), ClassTreeContext::Private::createMaxDepth(), NamespaceTreeContext::Private::createMaxDepth(), FileTreeContext::Private::createMaxDepth(), PageTreeContext::Private::createMaxDepth(), ConceptTreeContext::Private::createMaxDepth(), ModuleTreeContext::Private::createMaxDepth() , 以及 ExampleTreeContext::Private::createMaxDepth().

◆ computeNumNodesAtLevel()

static int computeNumNodesAtLevel ( const TemplateStructIntfPtr  s,
int  level,
int  maxLevel 
)
static

在文件 context.cpp5147 行定义.

5148 {
5149  int num=0;
5150  if (level<maxLevel)
5151  {
5152  num++;
5153  TemplateVariant child = s->get("children");
5154  if (child.toList())
5155  {
5156  TemplateListIntf::ConstIteratorPtr it = child.toList()->createIterator();
5157  TemplateVariant v;
5158  for (it->toFirst();it->current(v);it->toNext())
5159  {
5160  num+=computeNumNodesAtLevel(v.toStruct(),level+1,maxLevel);
5161  }
5162  }
5163  }
5164  return num;
5165 }

引用了 TemplateVariant::toList() , 以及 TemplateVariant::toStruct().

被这些函数引用 computePreferredDepth().

◆ computePreferredDepth()

static int computePreferredDepth ( const TemplateListIntfPtr  list,
int  maxDepth 
)
static

在文件 context.cpp5167 行定义.

5168 {
5169  int preferredNumEntries = Config_getInt(HTML_INDEX_NUM_ENTRIES);
5170  int preferredDepth=1;
5171  if (preferredNumEntries>0)
5172  {
5173  int depth = maxDepth;
5174  for (int i=1;i<=depth;i++)
5175  {
5176  int num=0;
5177  TemplateListIntf::ConstIteratorPtr it = list->createIterator();
5178  TemplateVariant v;
5179  for (it->toFirst();it->current(v);it->toNext())
5180  {
5181  num+=computeNumNodesAtLevel(v.toStruct(),0,i);
5182  }
5183  if (num<=preferredNumEntries)
5184  {
5185  preferredDepth=i;
5186  }
5187  else
5188  {
5189  break;
5190  }
5191  }
5192  }
5193  return preferredDepth;
5194 }

引用了 computeNumNodesAtLevel(), Config_getInt , 以及 TemplateVariant::toStruct().

被这些函数引用 ClassHierarchyContext::Private::createPreferredDepth(), ClassTreeContext::Private::createPreferredDepth(), NamespaceTreeContext::Private::createPreferredDepth(), FileTreeContext::Private::createPreferredDepth(), PageTreeContext::Private::createPreferredDepth(), ConceptTreeContext::Private::createPreferredDepth(), ModuleTreeContext::Private::createPreferredDepth() , 以及 ExampleTreeContext::Private::createPreferredDepth().

◆ createLinkedText()

◆ generateOutputViaTemplate()

void generateOutputViaTemplate ( )

在文件 context.cpp8994 行定义.

8995 {
8996  {
8997  auto e = std::make_unique<TemplateEngine>();
8998  auto ctx = e->createContext();
8999  if (ctx)
9000  {
9025 
9026  //%% Doxygen doxygen:
9027  ctx->set("doxygen",doxygen);
9028  //%% Translator tr:
9029  ctx->set("tr",tr);
9030  //%% Config config:
9031  ctx->set("config",config);
9032  //%% ClassList classList:
9033  ctx->set("classList",classList); // not used for standard HTML
9034  //%% ClassTree classTree:
9035  ctx->set("classTree",classTree);
9036  //%% ClassIndex classIndex:
9037  ctx->set("classIndex",classIndex);
9038  //%% ClassHierarchy classHierarchy:
9039  ctx->set("classHierarchy",classHierarchy);
9040  //%% ConceptList conceptList:
9041  ctx->set("conceptList",conceptList);
9042  //%% ConceptTree conceptTree:
9043  ctx->set("conceptTree",conceptTree);
9044  //%% NamespaceList namespaceList:
9045  ctx->set("namespaceList",namespaceList);
9046  //%% NamespaceTree namespaceTree:
9047  ctx->set("namespaceTree",namespaceTree);
9048  //%% FileList fileList:
9049  ctx->set("fileList",fileList);
9050  //%% FileTree fileTree:
9051  ctx->set("fileTree",fileTree);
9052  //%% PageList pageList
9053  ctx->set("pageList",pageList);
9054  //%% PageTree pageTree
9055  ctx->set("pageTree",pageTree);
9056  //%% ExampleTree exampleTree
9057  ctx->set("exampleTree",exampleTree);
9058  //%% ExampleList exampleList
9059  ctx->set("exampleList",exampleList);
9060  //%% ModuleTree moduleTree
9061  ctx->set("moduleTree",moduleTree);
9062  //%% ModuleList moduleList
9063  ctx->set("moduleList",moduleList);
9064  //%% DirList dirList
9065  ctx->set("dirList",dirList);
9066  //%% Page mainPage
9067  if (Doxygen::mainPage)
9068  {
9070  ctx->set("mainPage",mainPage);
9071  }
9072  else
9073  {
9074  // TODO: for LaTeX output index should be main... => solve in template
9075  Doxygen::mainPage.reset(createPageDef("[generated]",1,"index","",Config_getString(PROJECT_NAME)));
9076  Doxygen::mainPage->setFileName("index");
9078  ctx->set("mainPage",mainPage);
9079  }
9080  //%% GlobalsIndex globalsIndex:
9081  ctx->set("globalsIndex",globalsIndex);
9082  //%% ClassMembersIndex classMembersIndex:
9083  ctx->set("classMembersIndex",classMembersIndex);
9084  //%% NamespaceMembersIndex namespaceMembersIndex:
9085  ctx->set("namespaceMembersIndex",namespaceMembersIndex);
9086  //%% SearchIndices searchIndices
9087  ctx->set("searchIndices",searchIndices);
9088  //%% string space
9089  ctx->set("space"," ");
9090 
9091  //if (Config_getBool(GENERATE_HTML))
9092  { // render HTML output
9093  e->setTemplateDir("templates/html"); // TODO: make template part user configurable
9094  Template *tpl = e->loadByName("htmllayout.tpl",1);
9095  if (tpl)
9096  {
9098  g_globals.dynSectionId = 0;
9099  g_globals.outputDir = Config_getString(HTML_OUTPUT);
9100  Dir dir(g_globals.outputDir.str());
9101  createSubDirs(dir);
9102  ctx->setEscapeIntf(Config_getString(HTML_FILE_EXTENSION),std::make_unique<HtmlEscaper>());
9103  ctx->setSpacelessIntf(std::make_unique<HtmlSpaceless>());
9104  ctx->setOutputDirectory(g_globals.outputDir);
9105  TextStream ts;
9106  tpl->render(ts,ctx.get());
9107  }
9108  e->unload(tpl);
9109  }
9110 
9111  // TODO: clean index before each run...
9112 
9113  //if (Config_getBool(GENERATE_LATEX))
9114  if (0)
9115  { // render LaTeX output
9116  e->setTemplateDir("templates/latex"); // TODO: make template part user configurable
9117  Template *tpl = e->loadByName("latexlayout.tpl",1);
9118  if (tpl)
9119  {
9121  g_globals.dynSectionId = 0;
9122  g_globals.outputDir = Config_getString(LATEX_OUTPUT);
9123  Dir dir(g_globals.outputDir.str());
9124  createSubDirs(dir);
9125  ctx->setEscapeIntf(".tex",std::make_unique<LatexEscaper>());
9126  ctx->setSpacelessIntf(std::make_unique<LatexSpaceless>());
9127  ctx->setOutputDirectory(g_globals.outputDir);
9128  TextStream ts;
9129  tpl->render(ts,ctx.get());
9130  }
9131  e->unload(tpl);
9132  }
9133  }
9134  }
9135 }

引用了 ConfigContext::alloc(), DoxygenContext::alloc(), TranslateContext::alloc(), PageContext::alloc(), ClassListContext::alloc(), ClassIndexContext::alloc(), ClassHierarchyContext::alloc(), ClassTreeContext::alloc(), ConceptListContext::alloc(), NamespaceListContext::alloc(), NamespaceTreeContext::alloc(), DirListContext::alloc(), FileListContext::alloc(), FileTreeContext::alloc(), PageListContext::alloc(), PageTreeContext::alloc(), ModuleListContext::alloc(), ConceptTreeContext::alloc(), ModuleTreeContext::alloc(), ExampleListContext::alloc(), ExampleTreeContext::alloc(), GlobalsIndexContext::alloc(), ClassMembersIndexContext::alloc(), NamespaceMembersIndexContext::alloc(), SearchIndicesContext::alloc(), Config_getString, ContextOutputFormat_Html, ContextOutputFormat_Latex, createPageDef(), createSubDirs(), ContextGlobals::dynSectionId, FALSE, g_globals, Doxygen::mainPage, ContextGlobals::outputDir, ContextGlobals::outputFormat, Doxygen::pageLinkedMap, Template::render(), QCString::str() , 以及 TRUE.

被这些函数引用 generateOutput().

◆ generateTemplateFiles()

void generateTemplateFiles ( const QCString templateDir)

在文件 context.cpp9137 行定义.

9138 {
9139  if (templateDir.isEmpty()) return;
9140  Dir thisDir;
9141  if (!thisDir.exists(templateDir.str()) && !thisDir.mkdir(templateDir.str()))
9142  {
9143  err("Failed to create output directory '%s'\n",qPrint(templateDir));
9144  return;
9145  }
9146  std::string outDir = templateDir.str()+"/html";
9147  if (!thisDir.exists(outDir) && !thisDir.mkdir(outDir))
9148  {
9149  err("Failed to create output directory '%s'\n",outDir.c_str());
9150  return;
9151  }
9152  ResourceMgr::instance().writeCategory("html",outDir.c_str());
9153 }

引用了 err(), Dir::exists(), ResourceMgr::instance(), QCString::isEmpty(), Dir::mkdir(), qPrint(), QCString::str() , 以及 ResourceMgr::writeCategory().

被这些函数引用 readConfiguration().

◆ parseCode() [1/2]

static TemplateVariant parseCode ( const Definition d,
const QCString scopeName,
const QCString relPath,
const QCString code,
int  startLine = -1,
int  endLine = -1,
bool  showLineNumbers = FALSE 
)
static

在文件 context.cpp1280 行定义.

1282 {
1284  intf->resetCodeParserState();
1285  TextStream t;
1286  switch (g_globals.outputFormat)
1287  {
1289  {
1290  HtmlCodeGenerator codeGen(t,relPath);
1291  intf->parseCode(codeGen,scopeName,code,d->getLanguage(),FALSE,QCString(),d->getBodyDef(),
1292  startLine,endLine,TRUE,toMemberDef(d),showLineNumbers,d);
1293  }
1294  break;
1296  {
1297  LatexCodeGenerator codeGen(t,relPath,d->docFile());
1298  intf->parseCode(codeGen,scopeName,code,d->getLanguage(),FALSE,QCString(),d->getBodyDef(),
1299  startLine,endLine,TRUE,toMemberDef(d),showLineNumbers,d);
1300  }
1301  break;
1302  // TODO: support other generators
1303  default:
1304  err("context.cpp: output format not yet supported\n");
1305  break;
1306  }
1307  return TemplateVariant(t.str(),TRUE);
1308 }

引用了 ContextOutputFormat_Html, ContextOutputFormat_Latex, Definition::docFile(), err(), FALSE, g_globals, Definition::getBodyDef(), ParserManager::getCodeParser(), Definition::getDefFileExtension(), Definition::getLanguage(), ContextGlobals::outputFormat, Doxygen::parserManager, TextStream::str(), toMemberDef() , 以及 TRUE.

被这些函数引用 MemberContext::Private::createInitializerAsCode(), ConceptContext::Private::createInitializerAsCode(), MemberContext::Private::createSourceCode(), FileContext::Private::createSources() , 以及 PerlModDocVisitor::visit().

◆ parseCode() [2/2]

static TemplateVariant parseCode ( const FileDef fd,
const QCString relPath 
)
static

在文件 context.cpp1310 行定义.

1311 {
1312  static bool filterSourceFiles = Config_getBool(FILTER_SOURCE_FILES);
1314  intf->resetCodeParserState();
1315  TextStream t;
1316  switch (g_globals.outputFormat)
1317  {
1319  {
1320  HtmlCodeGenerator codeGen(t,relPath);
1321  intf->parseCode(codeGen,QCString(),
1322  fileToString(fd->absFilePath(),filterSourceFiles,TRUE), // the sources
1323  fd->getLanguage(), // lang
1324  FALSE, // isExampleBlock
1325  QCString(), // exampleName
1326  const_cast<FileDef*>(fd), // fileDef, TODO: should be const
1327  -1, // startLine
1328  -1, // endLine
1329  FALSE, // inlineFragment
1330  0, // memberDef
1331  TRUE, // showLineNumbers
1332  0, // searchCtx
1333  TRUE // collectXRefs, TODO: should become FALSE
1334  );
1335  }
1336  break;
1338  {
1339  LatexCodeGenerator codeGen(t,relPath,fd->docFile());
1340  intf->parseCode(codeGen,QCString(),
1341  fileToString(fd->absFilePath(),filterSourceFiles,TRUE), // the sources
1342  fd->getLanguage(), // lang
1343  FALSE, // isExampleBlock
1344  QCString(), // exampleName
1345  const_cast<FileDef*>(fd), // fileDef, TODO: should be const
1346  -1, // startLine
1347  -1, // endLine
1348  FALSE, // inlineFragment
1349  0, // memberDef
1350  TRUE, // showLineNumbers
1351  0, // searchCtx
1352  TRUE // collectXRefs, TODO: should become FALSE
1353  );
1354  }
1355  break;
1356  // TODO: support other generators
1357  default:
1358  err("context.cpp: output format not yet supported\n");
1359  break;
1360  }
1361  return TemplateVariant(t.str().c_str(),TRUE);
1362 }

引用了 FileDef::absFilePath(), Config_getBool, ContextOutputFormat_Html, ContextOutputFormat_Latex, Definition::docFile(), err(), FALSE, fileToString(), g_globals, ParserManager::getCodeParser(), Definition::getDefFileExtension(), Definition::getLanguage(), ContextGlobals::outputFormat, Doxygen::parserManager, TextStream::str() , 以及 TRUE.

◆ parseDoc()

static TemplateVariant parseDoc ( const Definition def,
const QCString file,
int  line,
const QCString relPath,
const QCString docStr,
bool  isBrief 
)
static

在文件 context.cpp1241 行定义.

1243 {
1244  TemplateVariant result;
1245  std::unique_ptr<IDocParser> parser { createDocParser() };
1246  std::unique_ptr<DocRoot> root { validatingParseDoc(
1247  *parser.get(),file,line,def,0,docStr,TRUE,FALSE,
1248  QCString(),isBrief,FALSE,Config_getBool(MARKDOWN_SUPPORT))
1249  };
1250  TextStream ts;
1251  switch (g_globals.outputFormat)
1252  {
1254  {
1255  HtmlCodeGenerator codeGen(ts,relPath);
1256  HtmlDocVisitor visitor(ts,codeGen,def);
1257  root->accept(&visitor);
1258  }
1259  break;
1261  {
1262  LatexCodeGenerator codeGen(ts,relPath,file);
1263  LatexDocVisitor visitor(ts,codeGen,def->getDefFileExtension(),FALSE);
1264  root->accept(&visitor);
1265  }
1266  break;
1267  // TODO: support other generators
1268  default:
1269  err("context.cpp: output format not yet supported\n");
1270  break;
1271  }
1272  bool isEmpty = root->isEmpty();
1273  if (isEmpty)
1274  result = "";
1275  else
1276  result = TemplateVariant(ts.str().c_str(),TRUE);
1277  return result;
1278 }

引用了 Config_getBool, ContextOutputFormat_Html, ContextOutputFormat_Latex, createDocParser(), err(), FALSE, g_globals, Definition::getDefFileExtension(), ContextGlobals::outputFormat, TextStream::str(), TRUE , 以及 validatingParseDoc().

被这些函数引用 DefinitionContext< FileContext::Private >::createBrief(), NestingNodeContext::Private::createBrief(), DefinitionContext< FileContext::Private >::createDetails(), MemberGroupInfoContext::Private::createDocs(), ArgumentContext::Private::createDocs(), PageContext::Private::createExample(), DefinitionContext< FileContext::Private >::createInbodyDocs() , 以及 MemberContext::Private::createParamDocs().

变量说明

◆ g_globals

TemplateVariant::toStruct
TemplateStructIntfPtr toStruct()
Returns the pointer to struct referenced by this variant or 0 if this variant does not have struct ty...
Definition: template.cpp:441
Definition::getDefFileExtension
virtual QCString getDefFileExtension() const =0
ContextOutputFormat_Latex
@ ContextOutputFormat_Latex
Definition: context.cpp:79
ModuleListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:776
ResourceMgr::instance
static ResourceMgr & instance()
Returns the one and only instance of this class
Definition: resourcemgr.cpp:32
ContextOutputFormat_Xml
@ ContextOutputFormat_Xml
Definition: context.cpp:83
ResourceMgr::writeCategory
bool writeCategory(const QCString &categoryName, const QCString &targetDir) const
Writes all resource belonging to a given category to a given target directory
Definition: resourcemgr.cpp:54
ContextGlobals::outputFormat
ContextOutputFormat outputFormat
Definition: context.cpp:78
Doxygen::mainPage
static std::unique_ptr< PageDef > mainPage
Definition: doxygen.h:83
ClassHierarchyContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:464
ContextOutputFormat_Unspecified
@ ContextOutputFormat_Unspecified
Definition: context.cpp:77
Dir
Class representing a directory in the file system
Definition: dir.h:68
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
Doxygen::pageLinkedMap
static PageLinkedMap * pageLinkedMap
Definition: doxygen.h:82
TranslateContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:115
createPageDef
PageDef * createPageDef(const QCString &f, int l, const QCString &n, const QCString &d, const QCString &t)
Definition: pagedef.cpp:76
TextGeneratorFactory::create
TextGeneratorIntf * create(TextStream &ts, const QCString &relPath)
Definition: context.cpp:3543
toMemberDef
MemberDef * toMemberDef(Definition *d)
Definition: memberdef.cpp:6088
Template::render
virtual void render(TextStream &ts, TemplateContext *c)=0
Renders a template instance to a stream.
GlobalsIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:882
ExampleListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:840
ClassIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:382
QCString::str
std::string str() const
Definition: qcstring.h:442
Template
Abstract interface for a template.
Definition: template.h:475
PageTreeContext::alloc
static TemplateStructIntfPtr alloc(const PageLinkedMap &pages)
Definition: context.h:736
ContextGlobals::outputDir
QCString outputDir
Definition: context.cpp:77
err
void err(const char *fmt,...)
Definition: message.cpp:203
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
PageListContext::alloc
static TemplateListIntfPtr alloc(const PageLinkedMap &pages)
Definition: context.h:713
ClassMembersIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:902
Definition::docFile
virtual QCString docFile() const =0
HtmlDocVisitor
Concrete visitor implementation for HTML output.
Definition: htmldocvisitor.h:29
TemplateStructIntfPtr
std::shared_ptr< TemplateStructIntf > TemplateStructIntfPtr
Definition: template.h:33
Definition::getLanguage
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
NamespaceMembersIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:922
TemplateListIntf::ConstIteratorPtr
std::unique_ptr< ConstIterator > ConstIteratorPtr
Definition: template.h:292
ContextGlobals::dynSectionId
int dynSectionId
Definition: context.cpp:76
NamespaceTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:631
Definition::getBodyDef
virtual const FileDef * getBodyDef() const =0
TextGeneratorFactory::instance
static TextGeneratorFactory * instance()
Definition: context.cpp:3538
ExampleTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:862
ModuleTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:820
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
ConfigContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:75
Config_getInt
#define Config_getInt(name)
Definition: config.h:34
Doxygen::parserManager
static ParserManager * parserManager
Definition: doxygen.h:111
TextGeneratorIntf
Abstract interface for a hyperlinked text fragment.
Definition: util.h:60
LatexCodeGenerator
Definition: latexgen.h:28
validatingParseDoc
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)
Definition: docparser.cpp:7495
LatexDocVisitor
Concrete visitor implementation for LaTeX output.
Definition: latexdocvisitor.h:29
fileToString
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition: util.cpp:1394
ParserManager::getCodeParser
std::unique_ptr< CodeParserInterface > getCodeParser(const QCString &extension)
Gets the interface to the parser associated with a given extension.
Definition: parserintf.h:217
linkifyText
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)
Definition: util.cpp:886
TRUE
#define TRUE
Definition: qcstring.h:36
DirListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:651
computeMaxDepth
static int computeMaxDepth(const TemplateListIntfPtr list)
Definition: context.cpp:5129
TextStream::str
std::string str() const
Return the contents of the buffer as a std::string object
Definition: textstream.h:208
ConceptListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:589
NamespaceListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:610
HtmlCodeGenerator
Definition: htmlgen.h:21
ConceptTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:800
g_globals
struct ContextGlobals g_globals
ClassListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:361
ContextOutputFormat_DocBook
@ ContextOutputFormat_DocBook
Definition: context.cpp:82
ClassTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:569
ContextOutputFormat_ManPage
@ ContextOutputFormat_ManPage
Definition: context.cpp:81
TemplateListIntfPtr
std::shared_ptr< TemplateListIntf > TemplateListIntfPtr
Definition: template.h:32
FileTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:693
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
FileListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:672
ContextOutputFormat_Rtf
@ ContextOutputFormat_Rtf
Definition: context.cpp:80
ContextOutputFormat_Html
@ ContextOutputFormat_Html
Definition: context.cpp:78
DoxygenContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:95
Definition::getOuterScope
virtual Definition * getOuterScope() const =0
computeNumNodesAtLevel
static int computeNumNodesAtLevel(const TemplateStructIntfPtr s, int level, int maxLevel)
Definition: context.cpp:5147
FileDef::absFilePath
virtual QCString absFilePath() const =0
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
Config_getString
#define Config_getString(name)
Definition: config.h:32
ContextOutputFormat_TagFile
@ ContextOutputFormat_TagFile
Definition: context.cpp:84
PageContext::alloc
static TemplateStructIntfPtr alloc(const PageDef *pd, bool isMainPage, bool isExample)
Definition: context.h:300
FileDef
A model of a file symbol.
Definition: filedef.h:73
Dir::exists
bool exists() const
Definition: dir.cpp:199
SearchIndicesContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:1378
Dir::mkdir
bool mkdir(const std::string &path, bool acceptsAbsPath=true) const
Definition: dir.cpp:237
createSubDirs
void createSubDirs(const Dir &d)
Definition: util.cpp:3677
TemplateVariant::toList
TemplateListIntfPtr toList()
Returns the pointer to list referenced by this variant or 0 if this variant does not have list type.
Definition: template.cpp:432
createDocParser
std::unique_ptr< IDocParser > createDocParser()
Definition: docparser.cpp:179
FALSE
#define FALSE
Definition: qcstring.h:33
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108