Doxygen
outputgen.h
浏览该文件的文档.
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 1997-2015 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby
9  * granted. No representations are made about the suitability of this software
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17 
18 #ifndef OUTPUTGEN_H
19 #define OUTPUTGEN_H
20 
21 #include <memory>
22 #include <stack>
23 #include <iostream>
24 #include <fstream>
25 
26 #include "types.h"
27 #include "index.h"
28 #include "section.h"
29 #include "textstream.h"
30 
31 class ClassDiagram;
32 class DotClassGraph;
33 class DotInclDepGraph;
34 class DotCallGraph;
35 class DotDirDeps;
38 class DocNode;
39 class MemberDef;
40 class Definition;
41 
43 {
48 };
49 
51 {
53  int line;
57 };
58 
59 /** Output interface for code parser.
60  */
62 {
63  public:
64  virtual ~CodeOutputInterface() {}
66  CodeOutputInterface(const CodeOutputInterface &) = delete;
68 
69  /** Identifier for the output file */
70  virtual int id() const { return 0; }
71 
72  /*! Writes an code fragment to the output. This function should keep
73  * spaces visible, should break lines at a newline and should convert
74  * tabs to the right number of spaces.
75  */
76  virtual void codify(const QCString &s) = 0;
77 
78  /*! Writes a link to an object in a code fragment.
79  * \param type The type of symbol, used for semantic syntax
80  * highlighting, may be Default is no info is available.
81  * \param ref If this is non-zero, the object is to be found in
82  * an external documentation file.
83  * \param file The file in which the object is located.
84  * \param anchor The anchor uniquely identifying the object within
85  * the file.
86  * \param name The text to display as a placeholder for the link.
87  * \param tooltip The tooltip to display when the mouse is on the link.
88  */
89  virtual void writeCodeLink(CodeSymbolType type,
90  const QCString &ref,const QCString &file,
91  const QCString &anchor,const QCString &name,
92  const QCString &tooltip) = 0;
93 
94  /*! Writes the line number of a source listing
95  * \param ref External reference (when imported from a tag file)
96  * \param file The file part of the URL pointing to the docs.
97  * \param anchor The anchor part of the URL pointing to the docs.
98  * \param lineNumber The line number to write
99  * \param writeLineAnchor Indicates if an anchor for the line number needs to be written
100  */
101  virtual void writeLineNumber(const QCString &ref,const QCString &file,
102  const QCString &anchor,int lineNumber, bool writeLineAnchor) = 0;
103 
104  /*! Writes a tool tip definition
105  * \param id unique identifier for the tooltip
106  * \param docInfo Info about the symbol's documentation.
107  * \param decl full declaration of the symbol (for functions)
108  * \param desc brief description for the symbol
109  * \param defInfo Info about the symbol's definition in the source code
110  * \param declInfo Info about the symbol's declaration in the source code
111  */
112  virtual void writeTooltip(const QCString &id,
113  const DocLinkInfo &docInfo,
114  const QCString &decl,
115  const QCString &desc,
116  const SourceLinkInfo &defInfo,
117  const SourceLinkInfo &declInfo
118  ) = 0;
119 
120  virtual void startCodeLine(bool hasLineNumbers) = 0;
121 
122  /*! Ends a line of code started with startCodeLine() */
123  virtual void endCodeLine() = 0;
124 
125  /*! Starts a block with a certain meaning. Used for syntax highlighting,
126  * which elements of the same type are rendered using the same 'font class'.
127  * \param clsName The category name.
128  */
129  virtual void startFontClass(const QCString &clsName) = 0;
130 
131  /*! Ends a block started with startFontClass() */
132  virtual void endFontClass() = 0;
133 
134  /*! Write an anchor to a source listing.
135  * \param name The name of the anchor.
136  */
137  virtual void writeCodeAnchor(const QCString &name) = 0;
138 
139  virtual void setCurrentDoc(const Definition *context,const QCString &anchor,bool isSourceFile) = 0;
140  virtual void addWord(const QCString &word,bool hiPriority) = 0;
141 
142  /*! Starts a source code fragment. The fragment will be
143  * fed to the code parser (see code.h) for syntax highlighting
144  * and cross-referencing. The fragment ends by a call to
145  * endCodeFragment()
146  * @param style The kind of code fragment.
147  */
148  virtual void startCodeFragment(const QCString &style) = 0;
149  /*! Ends a block of code */
150  virtual void endCodeFragment(const QCString &style) = 0;
151 };
152 
153 /** Base Interface used for generating output outside of the
154  * comment blocks.
155  *
156  * This abstract class is used by output generation functions
157  * to generate the output for a specific format,
158  * or a list of formats (see OutputList). This interface
159  * contains functions that generate fragments of the output.
160  */
162 {
163  public:
166  enum SectionTypes { /*See, Return, Author, Version,
167  Since, Date, Bug, Note,
168  Warning, Par, Deprecated, Pre,
169  Post, Invar, Remark, Attention,
170  Todo, Test, RCS, */
173  };
174 
175  virtual void parseText(const QCString &) {}
176 
177  /*! Start of a bullet list: e.g. \c <ul> in html. startItemListItem() is
178  * Used for the bullet items.
179  */
180  virtual void startItemList() = 0;
181 
182  /*! Writes a list item for a bullet or enumerated
183  * list: e.g. \c <li> in html
184  */
185  virtual void startItemListItem() = 0;
186 
187  /*! Writes a list item for a bullet or enumerated
188  * list: e.g. \c </li> in html
189  */
190  virtual void endItemListItem() = 0;
191 
192  /*! Ends a bullet list: e.g. \c </ul> in html */
193  virtual void endItemList() = 0;
194 
195  /*! Writes an ASCII string to the output. Converts characters that have
196  * A special meaning, like \c & in html.
197  */
198  virtual void docify(const QCString &s) = 0;
199 
200  /*! Writes a single ASCII character to the output. Converts characters
201  * that have a special meaning.
202  */
203  virtual void writeChar(char c) = 0;
204 
205  /*! Writes an ASCII string to the output, \e without converting
206  * special characters.
207  */
208  virtual void writeString(const QCString &text) = 0;
209 
210  /*! Starts a new paragraph */
211  //virtual void newParagraph() = 0;
212 
213  /*! Starts a new paragraph */
214  virtual void startParagraph(const QCString &classDef) = 0;
215  /*! Ends a paragraph */
216  virtual void endParagraph() = 0;
217 
218  /*! Writes a link to an object in the documentation.
219  * \param ref If this is non-zero, the object is to be found in
220  * an external documentation file.
221  * \param file The file in which the object is located.
222  * \param anchor The anchor uniquely identifying the object within
223  * the file.
224  * \param name The text to display as a placeholder for the link.
225  */
226  virtual void writeObjectLink(const QCString &ref,const QCString &file,
227  const QCString &anchor, const QCString &name) = 0;
228 
229 
230  /*! Starts a (link to an) URL found in the documentation.
231  * \param url The URL to link to.
232  */
233  virtual void startHtmlLink(const QCString &url) = 0;
234 
235  /*! Ends a link started by startHtmlLink().
236  */
237  virtual void endHtmlLink() = 0;
238 
239 
240  /*! Changes the text font to bold face. The bold section ends with
241  * endBold()
242  */
243  virtual void startBold() = 0;
244 
245  /*! End a section of text displayed in bold face. */
246  virtual void endBold() = 0;
247 
248  /*! Changes the text font to fixed size. The section ends with
249  * endTypewriter()
250  */
251  virtual void startTypewriter() = 0;
252 
253  /*! End a section of text displayed in typewriter style. */
254  virtual void endTypewriter() = 0;
255 
256  /*! Changes the text font to italic. The italic section ends with
257  * endEmphasis()
258  */
259  virtual void startEmphasis() = 0;
260 
261  /*! Ends a section of text displayed in italic. */
262  virtual void endEmphasis() = 0;
263 
264  /*! Writes a horizontal ruler to the output */
265  virtual void writeRuler() = 0;
266 
267  /*! Starts a description list: e.g. \c <dl> in HTML
268  * Items are surrounded by startDescItem() and endDescItem()
269  */
270  virtual void startDescription() = 0;
271 
272  /*! Ends a description list: e.g. \c </dl> in HTML */
273  virtual void endDescription() = 0;
274 
275  /*! Starts an item of a description list: e.g. \c <dt> in HTML. */
276  virtual void startDescItem() = 0;
277 
278  virtual void startDescForItem() = 0;
279  virtual void endDescForItem() = 0;
280 
281  /*! Ends an item of a description list and starts the
282  * description itself: e.g. \c </dt> in HTML.
283  */
284  virtual void endDescItem() = 0;
285 
286  virtual void startCenter() = 0;
287  virtual void endCenter() = 0;
288  virtual void startSmall() = 0;
289  virtual void endSmall() = 0;
290 
291  virtual void startExamples() = 0;
292  virtual void endExamples() = 0;
293  virtual void startParamList(ParamListTypes t,const QCString &title) = 0;
294  virtual void endParamList() = 0;
295 
296  //virtual void writeDescItem() = 0;
297  virtual void startTitle() = 0;
298  virtual void endTitle() = 0;
299 
300  virtual void writeAnchor(const QCString &fileName,const QCString &name) = 0;
301  virtual void startSection(const QCString &,const QCString &,SectionType) = 0;
302  virtual void endSection(const QCString &,SectionType) = 0;
303 
304  virtual void lineBreak(const QCString &style) = 0;
305  virtual void addIndexItem(const QCString &s1,const QCString &s2) = 0;
306 
307  virtual void writeNonBreakableSpace(int) = 0;
308  virtual void startDescTable(const QCString &title) = 0;
309  virtual void endDescTable() = 0;
310  virtual void startDescTableRow() = 0;
311  virtual void endDescTableRow() = 0;
312  virtual void startDescTableTitle() = 0;
313  virtual void endDescTableTitle() = 0;
314  virtual void startDescTableData() = 0;
315  virtual void endDescTableData() = 0;
316  virtual void startTextLink(const QCString &file,const QCString &anchor) = 0;
317  virtual void endTextLink() = 0;
318  virtual void startPageRef() = 0;
319  virtual void endPageRef(const QCString &,const QCString &) = 0;
320  virtual void startSubsection() = 0;
321  virtual void endSubsection() = 0;
322  virtual void startSubsubsection() = 0;
323  virtual void endSubsubsection() = 0;
324 };
325 
326 /** Abstract output generator.
327  *
328  * Subclass this class to add support for a new output format
329  */
331 {
332  public:
334 
335  OutputGenerator(const QCString &dir);
338  virtual ~OutputGenerator();
339 
340  virtual OutputType type() const = 0;
341  virtual std::unique_ptr<OutputGenerator> clone() const = 0;
342 
343  ///////////////////////////////////////////////////////////////
344  // generic generator methods
345  ///////////////////////////////////////////////////////////////
346  void enable();
347  void disable();
348  void enableIf(OutputType o);
349  void disableIf(OutputType o);
350  void disableIfNot(OutputType o);
351  bool isEnabled(OutputType o);
353  QCString dir() const;
354  QCString fileName() const;
355 
356  void startPlainFile(const QCString &name);
357  void endPlainFile();
358  //QCString getContents() const;
359  bool isEnabled() const { return m_active; }
360  void pushGeneratorState();
361  void popGeneratorState();
362  //void setEncoding(const QCString &enc) { encoding = enc; }
363  //virtual void postProcess(QByteArray &) { }
364 
365  virtual void writeDoc(DocNode *,const Definition *ctx,const MemberDef *md,int id) = 0;
366 
367  ///////////////////////////////////////////////////////////////
368  // structural output interface
369  ///////////////////////////////////////////////////////////////
370  virtual void startFile(const QCString &name,const QCString &manName,
371  const QCString &title,int id=0) = 0;
372  virtual void writeSearchInfo() = 0;
373  virtual void writeFooter(const QCString &navPath) = 0;
374  virtual void endFile() = 0;
375  virtual void startIndexSection(IndexSections) = 0;
376  virtual void endIndexSection(IndexSections) = 0;
377  virtual void writePageLink(const QCString &,bool) = 0;
378  virtual void startProjectNumber() = 0;
379  virtual void endProjectNumber() = 0;
380  virtual void writeStyleInfo(int part) = 0;
381  virtual void startTitleHead(const QCString &) = 0;
382  virtual void endTitleHead(const QCString &fileName,const QCString &name) = 0;
383  virtual void startIndexListItem() = 0;
384  virtual void endIndexListItem() = 0;
385  virtual void startIndexList() = 0;
386  virtual void endIndexList() = 0;
387  virtual void startIndexKey() = 0;
388  virtual void endIndexKey() = 0;
389  virtual void startIndexValue(bool) = 0;
390  virtual void endIndexValue(const QCString &,bool) = 0;
391  virtual void startIndexItem(const QCString &ref,const QCString &file) = 0;
392  virtual void endIndexItem(const QCString &ref,const QCString &file) = 0;
393  virtual void startGroupHeader(int) = 0;
394  virtual void endGroupHeader(int) = 0;
395  virtual void startMemberSections() = 0;
396  virtual void endMemberSections() = 0;
397  virtual void startHeaderSection() = 0;
398  virtual void endHeaderSection() = 0;
399  virtual void startMemberHeader(const QCString &anchor, int typ) = 0;
400  virtual void endMemberHeader() = 0;
401  virtual void startMemberSubtitle() = 0;
402  virtual void endMemberSubtitle() = 0;
403  virtual void startMemberDocList() = 0;
404  virtual void endMemberDocList() = 0;
405  virtual void startMemberList() = 0;
406  virtual void endMemberList() = 0;
407  virtual void startInlineHeader() = 0;
408  virtual void endInlineHeader() = 0;
409  virtual void startAnonTypeScope(int) = 0;
410  virtual void endAnonTypeScope(int) = 0;
411  virtual void startMemberItem(const QCString &,int,const QCString &) = 0;
412  virtual void endMemberItem() = 0;
413  virtual void startMemberTemplateParams() = 0;
414  virtual void endMemberTemplateParams(const QCString &,const QCString &) = 0;
415  virtual void startCompoundTemplateParams() = 0;
416  virtual void endCompoundTemplateParams() = 0;
417  virtual void startMemberGroupHeader(bool) = 0;
418  virtual void endMemberGroupHeader() = 0;
419  virtual void startMemberGroupDocs() = 0;
420  virtual void endMemberGroupDocs() = 0;
421  virtual void startMemberGroup() = 0;
422  virtual void endMemberGroup(bool) = 0;
423  virtual void insertMemberAlign(bool) = 0;
424  virtual void insertMemberAlignLeft(int,bool) = 0;
425  virtual void startMemberDoc(const QCString &,const QCString &,
426  const QCString &,const QCString &,int,int,bool) = 0;
427  virtual void endMemberDoc(bool) = 0;
428  virtual void startDoxyAnchor(const QCString &fName,const QCString &manName,
429  const QCString &anchor,const QCString &name,
430  const QCString &args) = 0;
431  virtual void endDoxyAnchor(const QCString &fileName,const QCString &anchor) = 0;
432  virtual void writeLatexSpacing() = 0;
433  virtual void writeStartAnnoItem(const QCString &type,const QCString &file,
434  const QCString &path,const QCString &name) = 0;
435  virtual void writeEndAnnoItem(const QCString &name) = 0;
436  virtual void startMemberDescription(const QCString &anchor,const QCString &inheritId, bool typ) = 0;
437  virtual void endMemberDescription() = 0;
438  virtual void startMemberDeclaration() = 0;
439  virtual void endMemberDeclaration(const QCString &anchor,const QCString &inheritId) = 0;
440  virtual void writeInheritedSectionTitle(const QCString &id,const QCString &ref,
441  const QCString &file,const QCString &anchor,
442  const QCString &title,const QCString &name) = 0;
443  virtual void startIndent() = 0;
444  virtual void endIndent() = 0;
445  virtual void writeSynopsis() = 0;
446  virtual void startClassDiagram() = 0;
447  virtual void endClassDiagram(const ClassDiagram &,const QCString &,const QCString &) = 0;
448  virtual void startDotGraph() = 0;
449  virtual void endDotGraph(DotClassGraph &g) = 0;
450  virtual void startInclDepGraph() = 0;
451  virtual void endInclDepGraph(DotInclDepGraph &g) = 0;
452  virtual void startGroupCollaboration() = 0;
453  virtual void endGroupCollaboration(DotGroupCollaboration &g) = 0;
454  virtual void startCallGraph() = 0;
455  virtual void endCallGraph(DotCallGraph &g) = 0;
456  virtual void startDirDepGraph() = 0;
457  virtual void endDirDepGraph(DotDirDeps &g) = 0;
458  virtual void writeGraphicalHierarchy(DotGfxHierarchyTable &g) = 0;
459  virtual void startQuickIndices() = 0;
460  virtual void endQuickIndices() = 0;
461  virtual void writeSplitBar(const QCString &) = 0;
462  virtual void writeNavigationPath(const QCString &) = 0;
463  virtual void writeLogo() = 0;
464  virtual void writeQuickLinks(bool compact,HighlightedItem hli,const QCString &file) = 0;
465  virtual void writeSummaryLink(const QCString &file,const QCString &anchor,const QCString &title,bool first) = 0;
466  virtual void startContents() = 0;
467  virtual void endContents() = 0;
468  virtual void startPageDoc(const QCString &) {}
469  virtual void endPageDoc() {}
470  virtual void startTextBlock(bool) = 0;
471  virtual void endTextBlock(bool) = 0;
472  virtual void lastIndexPage() = 0;
473  virtual void startMemberDocPrefixItem() = 0;
474  virtual void endMemberDocPrefixItem() = 0;
475  virtual void startMemberDocName(bool) = 0;
476  virtual void endMemberDocName() = 0;
477  virtual void startParameterType(bool,const QCString &key) = 0;
478  virtual void endParameterType() = 0;
479  virtual void startParameterName(bool) = 0;
480  virtual void endParameterName(bool,bool,bool) = 0;
481  virtual void startParameterList(bool) = 0;
482  virtual void endParameterList() = 0;
483  virtual void exceptionEntry(const QCString &,bool) = 0;
484 
485  virtual void startConstraintList(const QCString &) = 0;
486  virtual void startConstraintParam() = 0;
487  virtual void endConstraintParam() = 0;
488  virtual void startConstraintType() = 0;
489  virtual void endConstraintType() = 0;
490  virtual void startConstraintDocs() = 0;
491  virtual void endConstraintDocs() = 0;
492  virtual void endConstraintList() = 0;
493 
494  virtual void startMemberDocSimple(bool) = 0;
495  virtual void endMemberDocSimple(bool) = 0;
496  virtual void startInlineMemberType() = 0;
497  virtual void endInlineMemberType() = 0;
498  virtual void startInlineMemberName() = 0;
499  virtual void endInlineMemberName() = 0;
500  virtual void startInlineMemberDoc() = 0;
501  virtual void endInlineMemberDoc() = 0;
502 
503 
504  virtual void startLabels() = 0;
505  virtual void writeLabel(const QCString &,bool) = 0;
506  virtual void endLabels() = 0;
507 
508  virtual void cleanup() = 0;
509 
510  protected:
512  private:
515  FILE *m_file;
516  bool m_active = true;
517  std::stack<bool> m_genStack;
518 };
519 
520 /** Interface used for generating documentation.
521  *
522  * This abstract class is used by several functions
523  * to generate the output for a specific format.
524  * This interface contains some state saving and changing
525  * functions for dealing with format specific output.
526  */
528 {
529  public:
530  virtual ~OutputDocInterface() {}
531 
532  /*! Disables all output formats except format \a o
533  * (useful for OutputList only)
534  */
535  virtual void disableAllBut(OutputGenerator::OutputType o) = 0;
536 
537  /*! Enables all output formats as far as they have been enabled in
538  * the config file. (useful for OutputList only)
539  */
540  virtual void enableAll() = 0;
541 
542  /*! Disables all output formats (useful for OutputList only) */
543  virtual void disableAll()= 0;
544 
545  /*! Disables a specific output format (useful for OutputList only) */
546  virtual void disable(OutputGenerator::OutputType o) = 0;
547 
548  /*! Enables a specific output format (useful for OutputList only) */
549  virtual void enable(OutputGenerator::OutputType o) = 0;
550 
551  /*! Check whether a specific output format is currently enabled
552  * (useful for OutputList only)
553  */
554  virtual bool isEnabled(OutputGenerator::OutputType o) = 0;
555 
556  /*! Appends the output generated by generator \a g to this
557  * generator.
558  */
559  //virtual void append(const OutputDocInterface *g) = 0;
560 
561  /*! Pushes the state of the current generator (or list of
562  * generators) on a stack.
563  */
564  virtual void pushGeneratorState() = 0;
565 
566  /*! Pops the state of the current generator (or list of
567  * generators) on a stack. Should be preceded by a call
568  * the pushGeneratorState().
569  */
570  virtual void popGeneratorState() = 0;
571 };
572 
573 #endif
OutputGenerator::startParameterType
virtual void startParameterType(bool, const QCString &key)=0
OutputGenerator::fileName
QCString fileName() const
Definition: outputgen.cpp:85
BaseOutputDocInterface::endDescription
virtual void endDescription()=0
OutputGenerator::startInclDepGraph
virtual void startInclDepGraph()=0
OutputGenerator::writeSynopsis
virtual void writeSynopsis()=0
OutputGenerator::startMemberGroup
virtual void startMemberGroup()=0
BaseOutputDocInterface::endHtmlLink
virtual void endHtmlLink()=0
OutputGenerator::~OutputGenerator
virtual ~OutputGenerator()
Definition: outputgen.cpp:32
OutputGenerator::startMemberTemplateParams
virtual void startMemberTemplateParams()=0
OutputGenerator::endFile
virtual void endFile()=0
OutputGenerator::disable
void disable()
Definition: outputgen.cpp:119
OutputGenerator::startInlineMemberType
virtual void startInlineMemberType()=0
OutputGenerator::startMemberItem
virtual void startMemberItem(const QCString &, int, const QCString &)=0
OutputGenerator::endMemberDeclaration
virtual void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)=0
CodeOutputInterface::writeLineNumber
virtual void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor)=0
OutputGenerator::endInclDepGraph
virtual void endInclDepGraph(DotInclDepGraph &g)=0
OutputGenerator::type
virtual OutputType type() const =0
OutputGenerator::endParameterList
virtual void endParameterList()=0
OutputGenerator::endMemberTemplateParams
virtual void endMemberTemplateParams(const QCString &, const QCString &)=0
OutputGenerator::m_active
bool m_active
Definition: outputgen.h:516
DotDirDeps
Representation of an directory dependency graph
Definition: dotdirdeps.h:25
CodeOutputInterface::addWord
virtual void addWord(const QCString &word, bool hiPriority)=0
OutputGenerator::endConstraintDocs
virtual void endConstraintDocs()=0
OutputGenerator::startMemberDocName
virtual void startMemberDocName(bool)=0
OutputGenerator::startDotGraph
virtual void startDotGraph()=0
OutputGenerator::startDoxyAnchor
virtual void startDoxyAnchor(const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args)=0
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
BaseOutputDocInterface::writeNonBreakableSpace
virtual void writeNonBreakableSpace(int)=0
OutputGenerator::lastIndexPage
virtual void lastIndexPage()=0
OutputGenerator::startConstraintList
virtual void startConstraintList(const QCString &)=0
OutputGenerator::m_file
FILE * m_file
Definition: outputgen.h:515
BaseOutputDocInterface::ParamListTypes
ParamListTypes
Definition: outputgen.h:165
BaseOutputDocInterface::startTextLink
virtual void startTextLink(const QCString &file, const QCString &anchor)=0
OutputGenerator::insertMemberAlign
virtual void insertMemberAlign(bool)=0
BaseOutputDocInterface::endItemListItem
virtual void endItemListItem()=0
OutputGenerator::endHeaderSection
virtual void endHeaderSection()=0
OutputDocInterface
Interface used for generating documentation.
Definition: outputgen.h:527
types.h
This file contains a number of basic enums and types.
OutputGenerator::startIndexSection
virtual void startIndexSection(IndexSections)=0
OutputGenerator::enable
void enable()
Definition: outputgen.cpp:107
OutputDocInterface::isEnabled
virtual bool isEnabled(OutputGenerator::OutputType o)=0
OutputGenerator::startContents
virtual void startContents()=0
OutputGenerator::startCallGraph
virtual void startCallGraph()=0
OutputDocInterface::~OutputDocInterface
virtual ~OutputDocInterface()
Definition: outputgen.h:530
OutputGenerator::startMemberDocSimple
virtual void startMemberDocSimple(bool)=0
OutputGenerator::startInlineMemberName
virtual void startInlineMemberName()=0
OutputDocInterface::pushGeneratorState
virtual void pushGeneratorState()=0
OutputGenerator::endGroupHeader
virtual void endGroupHeader(int)=0
OutputGenerator::endDotGraph
virtual void endDotGraph(DotClassGraph &g)=0
OutputGenerator::m_fileName
QCString m_fileName
Definition: outputgen.h:514
BaseOutputDocInterface::startPageRef
virtual void startPageRef()=0
OutputDocInterface::disableAll
virtual void disableAll()=0
OutputGenerator::startMemberList
virtual void startMemberList()=0
index.h
DocNode
Abstract node interface with type information.
Definition: docparser.h:96
section.h
BaseOutputDocInterface::startTypewriter
virtual void startTypewriter()=0
OutputGenerator::writeInheritedSectionTitle
virtual void writeInheritedSectionTitle(const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name)=0
OutputDocInterface::disableAllBut
virtual void disableAllBut(OutputGenerator::OutputType o)=0
OutputGenerator::endTitleHead
virtual void endTitleHead(const QCString &fileName, const QCString &name)=0
OutputGenerator::endMemberSections
virtual void endMemberSections()=0
OutputGenerator::endPageDoc
virtual void endPageDoc()
Definition: outputgen.h:469
OutputGenerator::Perl
@ Perl
Definition: outputgen.h:333
OutputGenerator::isEnabled
bool isEnabled() const
Definition: outputgen.h:359
OutputGenerator::startConstraintDocs
virtual void startConstraintDocs()=0
BaseOutputDocInterface::startDescTableData
virtual void startDescTableData()=0
CodeOutputInterface::startFontClass
virtual void startFontClass(const QCString &clsName)=0
OutputGenerator::endAnonTypeScope
virtual void endAnonTypeScope(int)=0
CodeOutputInterface::endCodeFragment
virtual void endCodeFragment(const QCString &style)=0
OutputGenerator::writeDoc
virtual void writeDoc(DocNode *, const Definition *ctx, const MemberDef *md, int id)=0
OutputGenerator::endConstraintList
virtual void endConstraintList()=0
OutputGenerator::endConstraintType
virtual void endConstraintType()=0
OutputGenerator::writeFooter
virtual void writeFooter(const QCString &navPath)=0
CodeOutputInterface::codify
virtual void codify(const QCString &s)=0
BaseOutputDocInterface::startHtmlLink
virtual void startHtmlLink(const QCString &url)=0
BaseOutputDocInterface::startDescTable
virtual void startDescTable(const QCString &title)=0
OutputGenerator::clone
virtual std::unique_ptr< OutputGenerator > clone() const =0
OutputGenerator::writeNavigationPath
virtual void writeNavigationPath(const QCString &)=0
BaseOutputDocInterface::addIndexItem
virtual void addIndexItem(const QCString &s1, const QCString &s2)=0
textstream.h
CodeOutputInterface::endFontClass
virtual void endFontClass()=0
OutputGenerator::startClassDiagram
virtual void startClassDiagram()=0
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
OutputGenerator::endLabels
virtual void endLabels()=0
BaseOutputDocInterface::endDescForItem
virtual void endDescForItem()=0
OutputGenerator::startIndexList
virtual void startIndexList()=0
BaseOutputDocInterface::Exception
@ Exception
Definition: outputgen.h:165
OutputGenerator::startCompoundTemplateParams
virtual void startCompoundTemplateParams()=0
OutputGenerator::writeSearchInfo
virtual void writeSearchInfo()=0
OutputGenerator::endParameterName
virtual void endParameterName(bool, bool, bool)=0
OutputGenerator::exceptionEntry
virtual void exceptionEntry(const QCString &, bool)=0
BaseOutputDocInterface::endItemList
virtual void endItemList()=0
OutputGenerator::startMemberDescription
virtual void startMemberDescription(const QCString &anchor, const QCString &inheritId, bool typ)=0
CodeOutputInterface::endCodeLine
virtual void endCodeLine()=0
SectionType
SectionType
enum representing the various types of sections and entities that can be referred to.
Definition: section.h:28
BaseOutputDocInterface::endSubsection
virtual void endSubsection()=0
BaseOutputDocInterface::endParamList
virtual void endParamList()=0
BaseOutputDocInterface::endSubsubsection
virtual void endSubsubsection()=0
CodeOutputInterface::startCodeFragment
virtual void startCodeFragment(const QCString &style)=0
OutputGenerator::endMemberSubtitle
virtual void endMemberSubtitle()=0
OutputGenerator::endClassDiagram
virtual void endClassDiagram(const ClassDiagram &, const QCString &, const QCString &)=0
OutputGenerator::startTextBlock
virtual void startTextBlock(bool)=0
OutputGenerator::endInlineMemberDoc
virtual void endInlineMemberDoc()=0
OutputGenerator::startInlineMemberDoc
virtual void startInlineMemberDoc()=0
OutputGenerator::endMemberDocSimple
virtual void endMemberDocSimple(bool)=0
OutputDocInterface::popGeneratorState
virtual void popGeneratorState()=0
BaseOutputDocInterface::startExamples
virtual void startExamples()=0
OutputGenerator::endIndexValue
virtual void endIndexValue(const QCString &, bool)=0
OutputGenerator::writeStyleInfo
virtual void writeStyleInfo(int part)=0
CodeOutputInterface::writeCodeAnchor
virtual void writeCodeAnchor(const QCString &name)=0
OutputGenerator::endIndexList
virtual void endIndexList()=0
OutputGenerator::startQuickIndices
virtual void startQuickIndices()=0
OutputGenerator::endMemberGroupHeader
virtual void endMemberGroupHeader()=0
OutputGenerator::startMemberDoc
virtual void startMemberDoc(const QCString &, const QCString &, const QCString &, const QCString &, int, int, bool)=0
OutputGenerator::endTextBlock
virtual void endTextBlock(bool)=0
OutputGenerator::endMemberHeader
virtual void endMemberHeader()=0
OutputGenerator::endQuickIndices
virtual void endQuickIndices()=0
OutputGenerator::RTF
@ RTF
Definition: outputgen.h:333
OutputGenerator::startParameterList
virtual void startParameterList(bool)=0
BaseOutputDocInterface::startTitle
virtual void startTitle()=0
BaseOutputDocInterface::startDescTableTitle
virtual void startDescTableTitle()=0
BaseOutputDocInterface::startParagraph
virtual void startParagraph(const QCString &classDef)=0
OutputGenerator::endGroupCollaboration
virtual void endGroupCollaboration(DotGroupCollaboration &g)=0
OutputGenerator::m_dir
QCString m_dir
Definition: outputgen.h:513
CodeOutputInterface::startCodeLine
virtual void startCodeLine(bool hasLineNumbers)=0
BaseOutputDocInterface::startSection
virtual void startSection(const QCString &, const QCString &, SectionType)=0
BaseOutputDocInterface::startDescForItem
virtual void startDescForItem()=0
BaseOutputDocInterface::endPageRef
virtual void endPageRef(const QCString &, const QCString &)=0
CodeOutputInterface::CodeOutputInterface
CodeOutputInterface()
Definition: outputgen.h:65
OutputGenerator::m_t
TextStream m_t
Definition: outputgen.h:511
BaseOutputDocInterface::startDescription
virtual void startDescription()=0
OutputGenerator::endCompoundTemplateParams
virtual void endCompoundTemplateParams()=0
BaseOutputDocInterface::startSubsection
virtual void startSubsection()=0
OutputGenerator::startMemberGroupHeader
virtual void startMemberGroupHeader(bool)=0
MemberDef
A model of a class/file/namespace member symbol.
Definition: memberdef.h:45
OutputGenerator::m_genStack
std::stack< bool > m_genStack
Definition: outputgen.h:517
OutputGenerator::Latex
@ Latex
Definition: outputgen.h:333
OutputGenerator::startParameterName
virtual void startParameterName(bool)=0
OutputGenerator::startInlineHeader
virtual void startInlineHeader()=0
OutputGenerator::startIndexItem
virtual void startIndexItem(const QCString &ref, const QCString &file)=0
OutputGenerator::startMemberHeader
virtual void startMemberHeader(const QCString &anchor, int typ)=0
BaseOutputDocInterface::Param
@ Param
Definition: outputgen.h:165
OutputGenerator::endConstraintParam
virtual void endConstraintParam()=0
BaseOutputDocInterface::startBold
virtual void startBold()=0
BaseOutputDocInterface::startSubsubsection
virtual void startSubsubsection()=0
BaseOutputDocInterface::endTextLink
virtual void endTextLink()=0
BaseOutputDocInterface::endDescTableData
virtual void endDescTableData()=0
OutputGenerator::endDirDepGraph
virtual void endDirDepGraph(DotDirDeps &g)=0
CodeOutputInterface::~CodeOutputInterface
virtual ~CodeOutputInterface()
Definition: outputgen.h:64
OutputGenerator::startGroupHeader
virtual void startGroupHeader(int)=0
OutputGenerator::endMemberList
virtual void endMemberList()=0
DotCallGraph
Representation of an call graph
Definition: dotcallgraph.h:26
OutputGenerator::endMemberDocPrefixItem
virtual void endMemberDocPrefixItem()=0
OutputGenerator::writeStartAnnoItem
virtual void writeStartAnnoItem(const QCString &type, const QCString &file, const QCString &path, const QCString &name)=0
CodeOutputInterface::id
virtual int id() const
Identifier for the output file
Definition: outputgen.h:70
BaseOutputDocInterface::endParagraph
virtual void endParagraph()=0
BaseOutputDocInterface::lineBreak
virtual void lineBreak(const QCString &style)=0
OutputGenerator::XML
@ XML
Definition: outputgen.h:333
OutputGenerator::startLabels
virtual void startLabels()=0
BaseOutputDocInterface::~BaseOutputDocInterface
virtual ~BaseOutputDocInterface()
Definition: outputgen.h:164
OutputGenerator::cleanup
virtual void cleanup()=0
OutputGenerator::disableIf
void disableIf(OutputType o)
Definition: outputgen.cpp:129
OutputGenerator::startConstraintParam
virtual void startConstraintParam()=0
BaseOutputDocInterface::parseText
virtual void parseText(const QCString &)
Definition: outputgen.h:175
BaseOutputDocInterface::writeAnchor
virtual void writeAnchor(const QCString &fileName, const QCString &name)=0
OutputGenerator::popGeneratorState
void popGeneratorState()
Definition: outputgen.cpp:96
BaseOutputDocInterface::SectionTypes
SectionTypes
Definition: outputgen.h:166
OutputGenerator::dir
QCString dir() const
Definition: outputgen.cpp:80
OutputGenerator::startMemberDeclaration
virtual void startMemberDeclaration()=0
OutputGenerator::endMemberDocList
virtual void endMemberDocList()=0
OutputGenerator::startTitleHead
virtual void startTitleHead(const QCString &)=0
BaseOutputDocInterface::endDescItem
virtual void endDescItem()=0
BaseOutputDocInterface::endBold
virtual void endBold()=0
OutputGenerator::Html
@ Html
Definition: outputgen.h:333
BaseOutputDocInterface::endEmphasis
virtual void endEmphasis()=0
OutputGenerator::endParameterType
virtual void endParameterType()=0
OutputGenerator::endMemberGroup
virtual void endMemberGroup(bool)=0
BaseOutputDocInterface::writeRuler
virtual void writeRuler()=0
BaseOutputDocInterface::startEmphasis
virtual void startEmphasis()=0
BaseOutputDocInterface
Base Interface used for generating output outside of the comment blocks.
Definition: outputgen.h:161
ClassDiagram
Class representing a built-in class diagram.
Definition: diagram.h:29
OutputGenerator::startIndexKey
virtual void startIndexKey()=0
OutputGenerator::DEF
@ DEF
Definition: outputgen.h:333
DotClassGraph
Representation of a class inheritance or dependency graph
Definition: dotclassgraph.h:28
OutputGenerator::endCallGraph
virtual void endCallGraph(DotCallGraph &g)=0
OutputGenerator::endProjectNumber
virtual void endProjectNumber()=0
BaseOutputDocInterface::writeChar
virtual void writeChar(char c)=0
OutputGenerator::writePageLink
virtual void writePageLink(const QCString &, bool)=0
OutputGenerator::startMemberSections
virtual void startMemberSections()=0
OutputGenerator::disableIfNot
void disableIfNot(OutputType o)
Definition: outputgen.cpp:134
OutputGenerator::Docbook
@ Docbook
Definition: outputgen.h:333
BaseOutputDocInterface::endTitle
virtual void endTitle()=0
BaseOutputDocInterface::Examples
@ Examples
Definition: outputgen.h:172
OutputGenerator::get
OutputGenerator * get(OutputType o)
Definition: outputgen.cpp:144
CodeOutputInterface::writeCodeLink
virtual void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip)=0
OutputGenerator::endMemberDescription
virtual void endMemberDescription()=0
OutputGenerator::startFile
virtual void startFile(const QCString &name, const QCString &manName, const QCString &title, int id=0)=0
OutputDocInterface::enable
virtual void enable(OutputGenerator::OutputType o)=0
OutputGenerator::startMemberSubtitle
virtual void startMemberSubtitle()=0
OutputGenerator::startIndexValue
virtual void startIndexValue(bool)=0
OutputGenerator
Abstract output generator.
Definition: outputgen.h:330
BaseOutputDocInterface::endSmall
virtual void endSmall()=0
OutputGenerator::writeGraphicalHierarchy
virtual void writeGraphicalHierarchy(DotGfxHierarchyTable &g)=0
OutputGenerator::writeQuickLinks
virtual void writeQuickLinks(bool compact, HighlightedItem hli, const QCString &file)=0
OutputGenerator::startMemberDocPrefixItem
virtual void startMemberDocPrefixItem()=0
OutputGenerator::startDirDepGraph
virtual void startDirDepGraph()=0
OutputGenerator::writeLogo
virtual void writeLogo()=0
OutputGenerator::endInlineMemberName
virtual void endInlineMemberName()=0
BaseOutputDocInterface::startDescTableRow
virtual void startDescTableRow()=0
BaseOutputDocInterface::writeObjectLink
virtual void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)=0
BaseOutputDocInterface::endTypewriter
virtual void endTypewriter()=0
BaseOutputDocInterface::docify
virtual void docify(const QCString &s)=0
CodeOutputInterface
Output interface for code parser.
Definition: outputgen.h:61
IndexSections
IndexSections
Definition: index.h:115
BaseOutputDocInterface::endDescTable
virtual void endDescTable()=0
OutputGenerator::endMemberDoc
virtual void endMemberDoc(bool)=0
OutputGenerator::startAnonTypeScope
virtual void startAnonTypeScope(int)=0
OutputGenerator::endIndexListItem
virtual void endIndexListItem()=0
BaseOutputDocInterface::endDescTableTitle
virtual void endDescTableTitle()=0
OutputGenerator::startPageDoc
virtual void startPageDoc(const QCString &)
Definition: outputgen.h:468
OutputGenerator::writeEndAnnoItem
virtual void writeEndAnnoItem(const QCString &name)=0
OutputGenerator::endContents
virtual void endContents()=0
OutputGenerator::writeLabel
virtual void writeLabel(const QCString &, bool)=0
BaseOutputDocInterface::EnumValues
@ EnumValues
Definition: outputgen.h:171
CodeOutputInterface::writeTooltip
virtual void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)=0
OutputGenerator::startGroupCollaboration
virtual void startGroupCollaboration()=0
BaseOutputDocInterface::endDescTableRow
virtual void endDescTableRow()=0
OutputGenerator::endIndexKey
virtual void endIndexKey()=0
DotGroupCollaboration
Representation of a group collaboration graph
Definition: dotgroupcollaboration.h:28
OutputGenerator::startMemberGroupDocs
virtual void startMemberGroupDocs()=0
OutputGenerator::startMemberDocList
virtual void startMemberDocList()=0
BaseOutputDocInterface::endSection
virtual void endSection(const QCString &, SectionType)=0
OutputGenerator::pushGeneratorState
void pushGeneratorState()
Definition: outputgen.cpp:90
DotInclDepGraph
Representation of an include dependency graph
Definition: dotincldepgraph.h:30
OutputGenerator::endMemberItem
virtual void endMemberItem()=0
OutputGenerator::endIndexItem
virtual void endIndexItem(const QCString &ref, const QCString &file)=0
OutputGenerator::endMemberDocName
virtual void endMemberDocName()=0
BaseOutputDocInterface::startCenter
virtual void startCenter()=0
OutputGenerator::operator=
OutputGenerator & operator=(const OutputGenerator &o)
Definition: outputgen.cpp:48
BaseOutputDocInterface::startParamList
virtual void startParamList(ParamListTypes t, const QCString &title)=0
DotGfxHierarchyTable
Represents a graphical class hierarchy
Definition: dotgfxhierarchytable.h:31
BaseOutputDocInterface::RetVal
@ RetVal
Definition: outputgen.h:165
OutputGenerator::endPlainFile
void endPlainFile()
Definition: outputgen.cpp:72
OutputGenerator::OutputType
OutputType
Definition: outputgen.h:333
CodeOutputInterface::operator=
CodeOutputInterface & operator=(const CodeOutputInterface &)=delete
BaseOutputDocInterface::writeString
virtual void writeString(const QCString &text)=0
OutputGenerator::insertMemberAlignLeft
virtual void insertMemberAlignLeft(int, bool)=0
OutputGenerator::startHeaderSection
virtual void startHeaderSection()=0
OutputGenerator::endMemberGroupDocs
virtual void endMemberGroupDocs()=0
OutputGenerator::startProjectNumber
virtual void startProjectNumber()=0
BaseOutputDocInterface::endExamples
virtual void endExamples()=0
OutputGenerator::endIndexSection
virtual void endIndexSection(IndexSections)=0
OutputGenerator::writeLatexSpacing
virtual void writeLatexSpacing()=0
OutputGenerator::endIndent
virtual void endIndent()=0
OutputGenerator::startIndexListItem
virtual void startIndexListItem()=0
BaseOutputDocInterface::startItemListItem
virtual void startItemListItem()=0
BaseOutputDocInterface::startSmall
virtual void startSmall()=0
OutputDocInterface::disable
virtual void disable(OutputGenerator::OutputType o)=0
CodeSymbolType
CodeSymbolType
Definition: types.h:204
OutputGenerator::OutputGenerator
OutputGenerator(const QCString &dir)
Definition: outputgen.cpp:27
OutputGenerator::enableIf
void enableIf(OutputType o)
Definition: outputgen.cpp:124
CodeOutputInterface::setCurrentDoc
virtual void setCurrentDoc(const Definition *context, const QCString &anchor, bool isSourceFile)=0
OutputGenerator::startIndent
virtual void startIndent()=0
BaseOutputDocInterface::startDescItem
virtual void startDescItem()=0
OutputGenerator::writeSummaryLink
virtual void writeSummaryLink(const QCString &file, const QCString &anchor, const QCString &title, bool first)=0
BaseOutputDocInterface::startItemList
virtual void startItemList()=0
OutputGenerator::startPlainFile
void startPlainFile(const QCString &name)
Definition: outputgen.cpp:60
OutputGenerator::endDoxyAnchor
virtual void endDoxyAnchor(const QCString &fileName, const QCString &anchor)=0
OutputDocInterface::enableAll
virtual void enableAll()=0
HighlightedItem
HighlightedItem
Definition: index.h:140
OutputGenerator::endInlineMemberType
virtual void endInlineMemberType()=0
OutputGenerator::endInlineHeader
virtual void endInlineHeader()=0
BaseOutputDocInterface::endCenter
virtual void endCenter()=0
OutputGenerator::writeSplitBar
virtual void writeSplitBar(const QCString &)=0
OutputGenerator::Man
@ Man
Definition: outputgen.h:333
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108
OutputGenerator::startConstraintType
virtual void startConstraintType()=0