Doxygen
Loading...
Searching...
No Matches
outputlist.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Copyright (C) 1997-2020 by Dimitri van Heesch.
4 *
5 * Permission to use, copy, modify, and distribute this software and its
6 * documentation under the terms of the GNU General Public License is hereby
7 * granted. No representations are made about the suitability of this software
8 * for any purpose. It is provided "as is" without express or implied warranty.
9 * See the GNU General Public License for more details.
10 *
11 * Documents produced by Doxygen are derivative works derived from the
12 * input used in their production; they are not affected by this license.
13 *
14 */
15
16#ifndef OUTPUTLIST_H
17#define OUTPUTLIST_H
18
19#include <utility>
20#include <vector>
21#include <memory>
22#include <variant>
23#include <stack>
24#include <functional>
25
26#include "outputgen.h"
27#include "doxygen.h"
28
29#include "htmlgen.h"
30#include "latexgen.h"
31#include "rtfgen.h"
32#include "mangen.h"
33#include "docbookgen.h"
34#include "xmlgen.h"
35#include "devnullgen.h"
36#include "docoptions.h"
37
38class OutputCodeList;
39
40//-------------------------------------------------------------------------------------------
41
42/** Helper template class which defers all methods of OutputCodeIntf to an existing object of the templated type.
43 * This allows to add the same generator to multiple lists (one that owns the element, and others that refers to it).
44 */
45template<class OutputCodeGen>
47{
48 public:
49 OutputCodeDefer(OutputCodeGen *codeGen) : m_codeGen(codeGen) {}
50 OutputType type() const override { return m_codeGen->type(); }
51 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<OutputCodeDefer>(*this); }
52 void codify(const QCString &s) override { m_codeGen->codify(s); }
53 void stripCodeComments(bool b) override { m_codeGen->stripCodeComments(b); }
54 void startSpecialComment() override { m_codeGen->startSpecialComment(); }
55 void endSpecialComment() override { m_codeGen->endSpecialComment(); }
56 void setStripIndentAmount(size_t amount) override { m_codeGen->setStripIndentAmount(amount); }
58 const QCString &ref,const QCString &file,
59 const QCString &anchor,const QCString &name,
60 const QCString &tooltip) override
61 { m_codeGen->writeCodeLink(type,ref,file,anchor,name,tooltip); }
62
63 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
64 int lineNumber, bool writeLineAnchor) override
65 { m_codeGen->writeLineNumber(ref,file,anchor,lineNumber,writeLineAnchor); }
66
67 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
68 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
69 { m_codeGen->writeTooltip(id,docInfo,decl,desc,defInfo,declInfo); }
70
71 void startCodeLine(int lineNr) override
72 { m_codeGen->startCodeLine(lineNr); }
73
74 void endCodeLine() override
75 { m_codeGen->endCodeLine(); }
76
77 void startFontClass(const QCString &c) override
78 { m_codeGen->startFontClass(c); }
79
80 void endFontClass() override
81 { m_codeGen->endFontClass(); }
82
83 void writeCodeAnchor(const QCString &name) override
84 { m_codeGen->writeCodeAnchor(name); }
85
86 void startCodeFragment(const QCString &style) override
87 { m_codeGen->startCodeFragment(style); }
88
89 void endCodeFragment(const QCString &style) override
90 { m_codeGen->endCodeFragment(style); }
91
92 void startFold(int lineNr,const QCString &startMarker,const QCString &endMarker) override
93 { m_codeGen->startFold(lineNr,startMarker,endMarker); }
94
95 void endFold() override
96 { m_codeGen->endFold(); }
97
98 private:
99 OutputCodeGen *m_codeGen;
100};
101
108
109/** Implementation that allows capturing calls made to the code interface to later
110 * invoke them on a #OutputCodeList via replay().
111 */
113{
114 public:
115 OutputType type() const override { return OutputType::Recorder; }
116 void codify(const QCString &s) override;
117 void stripCodeComments(bool) override {}
118 void startSpecialComment() override;
119 void endSpecialComment() override;
120 void setStripIndentAmount(size_t) override {}
121 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<OutputCodeRecorder>(*this); }
123 const QCString &ref,const QCString &file,
124 const QCString &anchor,const QCString &name,
125 const QCString &tooltip) override;
126 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
127 int lineNumber, bool writeLineAnchor) override;
128 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
129 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override;
130 void startCodeLine(int) override;
131 void endCodeLine() override;
132 void startFontClass(const QCString &c) override;
133 void endFontClass() override;
134 void writeCodeAnchor(const QCString &name) override;
135 void startCodeFragment(const QCString &style) override;
136 void endCodeFragment(const QCString &style) override;
137 void startFold(int lineNr,const QCString &startMarker,const QCString &endMarker) override;
138 void endFold() override;
139
140 void replay(OutputCodeList &ol,int startLine,int endLine,bool showLineNumbers,bool stripComment,size_t stripIndentAmount);
141 private:
142 void startNewLine(int lineNr);
143 struct CallInfo
144 {
145 using ConditionFunc = std::function<bool()>;
146 using OutputFunc = std::function<void(OutputCodeList*)>;
148 : condition(std::move(c)), function(std::move(f)), insideSpecialComment(ic) {}
152 };
153 std::vector<CallInfo> m_calls;
154 std::vector<size_t> m_lineOffset;
155 bool m_showLineNumbers = false;
157};
158
159
160/** Class representing a list of different code generators.
161 * It offers the same interface as the specific code generators,
162 * and will forward each method to all generators that are enabled.
163 */
165{
166 public:
167 using OutputCodeIntfPtr = std::unique_ptr<OutputCodeIntf>;
168
169 private:
171 {
172 explicit OutputCodeElem(OutputCodeIntfPtr &&p) : intf(std::move(p)) {}
174 {
175 intf = other.intf->clone();
176 enabled = other.enabled;
177 }
179 {
180 if (&other!=this)
181 {
182 intf = other.intf->clone();
183 enabled = other.enabled;
184 }
185 return *this;
186 }
188 bool enabled = true;
189 };
190 public:
191
192 int id() const { return m_id; }
193 void setId(int id) { m_id = id; }
194
196 {
197 m_outputCodeList.emplace_back(std::move(p));
198 }
199
200 /** Add a code generator to the list, using a syntax similar to std::make_unique<T>() */
201 template<class T,class... As>
202 T* add(As&&... args)
203 {
204 add(std::make_unique<T>(std::forward<As>(args)...));
205 return static_cast<T*>(m_outputCodeList.back().intf.get());
206 }
207
208 /** Returns a pointer to a specific generator in the list */
209 template<class T>
211 {
212 for (auto &e : m_outputCodeList)
213 {
214 if (e.intf->type()==o) { return static_cast<T*>(e.intf.get()); }
215 }
216 return nullptr;
217 }
218
219 /** Enable or disable a specific generator */
220 void setEnabledFiltered(OutputType o,bool enabled)
221 {
222 for (auto &e : m_outputCodeList)
223 {
224 if (e.intf->type()==o) e.enabled = enabled;
225 }
226 }
227
228 void clear()
229 {
230 m_outputCodeList.clear();
231 }
232
233 // ---- OutputCodeIntf forwarding
234
235 void codify(const QCString &s)
236 { foreach(&OutputCodeIntf::codify,s); }
237
238 void stripCodeComments(bool b)
239 { foreach(&OutputCodeIntf::stripCodeComments,b); }
240
243
246
247 void setStripIndentAmount(size_t amount)
248 { foreach(&OutputCodeIntf::setStripIndentAmount,amount); }
249
251 const QCString &ref,const QCString &file,
252 const QCString &anchor,const QCString &name,
253 const QCString &tooltip)
254 { foreach(&OutputCodeIntf::writeCodeLink,type,ref,file,anchor,name,tooltip); }
255
256 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
257 int lineNumber, bool writeLineAnchor)
258 { foreach(&OutputCodeIntf::writeLineNumber,ref,file,anchor,lineNumber,writeLineAnchor); }
259
260 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
261 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
262 { foreach(&OutputCodeIntf::writeTooltip,id,docInfo,decl,desc,defInfo,declInfo); }
263
264 void startCodeLine(int lineNr)
265 { foreach(&OutputCodeIntf::startCodeLine,lineNr); }
266
268 { foreach(&OutputCodeIntf::endCodeLine); }
269
271 { foreach(&OutputCodeIntf::startFontClass,c); }
272
275
276 void writeCodeAnchor(const QCString &name)
277 { foreach(&OutputCodeIntf::writeCodeAnchor,name); }
278
279 void startCodeFragment(const QCString &style)
280 { foreach(&OutputCodeIntf::startCodeFragment,style); }
281
282 void endCodeFragment(const QCString &style)
283 { foreach(&OutputCodeIntf::endCodeFragment,style); }
284
285 void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker)
286 { foreach(&OutputCodeIntf::startFold,lineNr,startMarker,endMarker); }
287
288 void endFold()
289 { foreach(&OutputCodeIntf::endFold); }
290
291 private:
292 template<class... Ts, class... As>
293 void foreach(void (OutputCodeIntf::*methodPtr)(Ts...),As&&... args)
294 {
295 for (auto &e : m_outputCodeList)
296 {
297 if (e.enabled)
298 {
299 (e.intf.get()->*methodPtr)(std::forward<As>(args)...);
300 }
301 }
302 }
303
304 std::vector<OutputCodeElem> m_outputCodeList;
305 int m_id = -1;
306
307};
308
309//-------------------------------------------------------------------------------------------
310
311
312/** Class representing a list of output generators that are written to in parallel.
313 */
315{
316 public:
317 using OutputGenIntfPtr = std::unique_ptr<OutputGenIntf>;
318
319 private:
321 {
322 explicit OutputGenElem(OutputGenIntfPtr &&v) : intf(std::move(v)) {}
324 {
325 intf = other.intf->clone();
326 enabled = other.enabled;
327 }
329 {
330 if (&other!=this)
331 {
332 intf = other.intf->clone();
333 enabled = other.enabled;
334 }
335 return *this;
336 }
338 void setEnabled(bool e) { enabled = e && !enabledStack.empty() ? enabledStack.top() : e; }
339 bool enabled = true;
340 std::stack<bool> enabledStack;
341 };
342
343 public:
344 OutputList();
345 OutputList(const OutputList &ol);
346 OutputList &operator=(const OutputList &ol);
347 OutputList(OutputList &&) = delete;
349 ~OutputList() = default;
350
351 template<class DocGenerator>
352 void add()
353 {
354 m_outputGenList.emplace_back(std::make_unique<DocGenerator>());
356 }
357
358 const OutputCodeList &codeGenerators() const { return m_codeGenList; }
360
361 size_t size() const { return m_outputGenList.size(); }
362
363 void enableAll();
364 void disableAll();
365 void disable(OutputType o);
366 void enable(OutputType o);
367 bool isEnabled(OutputType o);
369 void pushGeneratorState();
370 void popGeneratorState();
371
372 void generateDoc(const QCString &fileName,int startLine,
373 const Definition *ctx,const MemberDef *md,const QCString &docStr,
374 const DocOptions &options);
375
376 void startFile(const QCString &name, bool isSource,const QCString &manName,const QCString &title, int hierarchyLevel=0);
377 void parseText(const QCString &textStr);
378
379 //////////////////////////////////////////////////
380 // OutputGenIntf implementation
381 //////////////////////////////////////////////////
382
383 void writeDoc(const IDocNodeAST *ast,const Definition *ctx,const MemberDef *md,int sectionLevel=-1)
384 { foreach(&OutputGenIntf::writeDoc,ast,ctx,md,m_id,sectionLevel); }
389 void writePageLink(const QCString &name,bool first)
390 { foreach(&OutputGenIntf::writePageLink,name,first); }
395 void writeStyleInfo(int part)
396 { foreach(&OutputGenIntf::writeStyleInfo,part); }
399 void writeFooter(const QCString &navPath)
400 { foreach(&OutputGenIntf::writeFooter,navPath); }
401 void endFile()
402 { foreach(&OutputGenIntf::endFile); }
403 void startTitleHead(const QCString &fileName)
404 { foreach(&OutputGenIntf::startTitleHead,fileName); }
405 void endTitleHead(const QCString &fileName,const QCString &name)
406 { foreach(&OutputGenIntf::endTitleHead,fileName,name); }
407 void startParagraph(const QCString &classDef=QCString())
408 { foreach(&OutputGenIntf::startParagraph,classDef); }
410 { foreach(&OutputGenIntf::endParagraph); }
411 void writeString(const QCString &text)
412 { foreach(&OutputGenIntf::writeString,text); }
420 { foreach(&OutputGenIntf::endIndexList); }
424 { foreach(&OutputGenIntf::endIndexKey); }
425 void startIndexValue(bool b)
426 { foreach(&OutputGenIntf::startIndexValue,b); }
427 void endIndexValue(const QCString &name,bool b)
428 { foreach(&OutputGenIntf::endIndexValue,name,b); }
432 { foreach(&OutputGenIntf::endItemList); }
433 void startIndexItem(const QCString &ref,const QCString &file)
434 { foreach(&OutputGenIntf::startIndexItem,ref,file); }
435 void endIndexItem(const QCString &ref,const QCString &file)
436 { foreach(&OutputGenIntf::endIndexItem,ref,file); }
437 void docify(const QCString &s)
438 { foreach(&OutputGenIntf::docify,s); }
439 void writeObjectLink(const QCString &ref,const QCString &file,
440 const QCString &anchor, const QCString &name)
441 { foreach(&OutputGenIntf::writeObjectLink,ref,file,anchor,name); }
442 void startTextLink(const QCString &file,const QCString &anchor)
443 { foreach(&OutputGenIntf::startTextLink,file,anchor); }
445 { foreach(&OutputGenIntf::endTextLink); }
446 void writeStartAnnoItem(const QCString &type,const QCString &file,
447 const QCString &path,const QCString &name)
448 { foreach(&OutputGenIntf::writeStartAnnoItem,type,file,path,name); }
453 void startGroupHeader(const QCString &id=QCString(),int extraLevels=0)
454 { foreach(&OutputGenIntf::startGroupHeader,id,extraLevels); }
455 void endGroupHeader(int extraLevels=0)
456 { foreach(&OutputGenIntf::endGroupHeader,extraLevels); }
469 void startMemberHeader(const QCString &anchor, int typ = 2)
470 { foreach(&OutputGenIntf::startMemberHeader,anchor,typ); }
490 { foreach(&OutputGenIntf::startAnonTypeScope,i1); }
491 void endAnonTypeScope(int i1)
492 { foreach(&OutputGenIntf::endAnonTypeScope,i1); }
494 { foreach(&OutputGenIntf::startMemberItem,anchor,type,id); }
499 void endMemberTemplateParams(const QCString &anchor,const QCString &inheritId)
500 { foreach(&OutputGenIntf::endMemberTemplateParams,anchor,inheritId); }
505 void startMemberGroupHeader(const QCString &id,bool b)
506 { foreach(&OutputGenIntf::startMemberGroupHeader,id,b); }
515 void endMemberGroup(bool last)
516 { foreach(&OutputGenIntf::endMemberGroup,last); }
517 void insertMemberAlign(bool templ=FALSE)
518 { foreach(&OutputGenIntf::insertMemberAlign,templ); }
522 { foreach(&OutputGenIntf::writeRuler); }
523 void writeAnchor(const QCString &fileName,const QCString &name)
524 { foreach(&OutputGenIntf::writeAnchor,fileName,name); }
528 { foreach(&OutputGenIntf::endEmphasis); }
529 void writeChar(char c)
530 { foreach(&OutputGenIntf::writeChar,c); }
531 void startMemberDoc(const QCString &clName,const QCString &memName,
532 const QCString &anchor,const QCString &title,
533 int memCount,int memTotal,bool showInline)
534 { foreach(&OutputGenIntf::startMemberDoc,clName,memName,anchor,title,memCount,memTotal,showInline); }
535 void endMemberDoc(bool hasArgs)
536 { foreach(&OutputGenIntf::endMemberDoc,hasArgs); }
537 void startDoxyAnchor(const QCString &fName,const QCString &manName,
538 const QCString &anchor, const QCString &name,
539 const QCString &args)
540 { foreach(&OutputGenIntf::startDoxyAnchor,fName,manName,anchor,name,args); }
541 void endDoxyAnchor(const QCString &fn,const QCString &anchor)
542 { foreach(&OutputGenIntf::endDoxyAnchor,fn,anchor); }
543 void addLabel(const QCString &fName,const QCString &anchor)
544 { foreach(&OutputGenIntf::addLabel,fName,anchor); }
552 { foreach(&OutputGenIntf::startCenter); }
554 { foreach(&OutputGenIntf::endCenter); }
556 { foreach(&OutputGenIntf::startSmall); }
557 void endSmall()
558 { foreach(&OutputGenIntf::endSmall); }
559 void lineBreak(const QCString &style=QCString())
560 { foreach(&OutputGenIntf::lineBreak,style); }
562 { foreach(&OutputGenIntf::startBold); }
563 void endBold()
564 { foreach(&OutputGenIntf::endBold); }
565 void startMemberDescription(const QCString &anchor,const QCString &inheritId=QCString(), bool typ = false)
566 { foreach(&OutputGenIntf::startMemberDescription,anchor,inheritId, typ); }
571 void endMemberDeclaration(const QCString &anchor,const QCString &inheritId)
572 { foreach(&OutputGenIntf::endMemberDeclaration,anchor,inheritId); }
573 void writeInheritedSectionTitle(const QCString &id, const QCString &ref,
574 const QCString &file, const QCString &anchor,
575 const QCString &title,const QCString &name)
577 file,anchor,title,name); }
581 { foreach(&OutputGenIntf::endExamples); }
583 { foreach(&OutputGenIntf::startIndent); }
585 { foreach(&OutputGenIntf::endIndent); }
586 void startSection(const QCString &lab,const QCString &title,SectionType t)
587 { foreach(&OutputGenIntf::startSection,lab,title,t); }
588 void endSection(const QCString &lab,SectionType t)
589 { foreach(&OutputGenIntf::endSection,lab,t); }
590 void addIndexItem(const QCString &s1,const QCString &s2)
591 { foreach(&OutputGenIntf::addIndexItem,s1,s2); }
596 void endClassDiagram(const ClassDiagram &d,const QCString &f,const QCString &n)
597 { foreach(&OutputGenIntf::endClassDiagram,d,f,n); }
599 { foreach(&OutputGenIntf::startPageRef); }
600 void endPageRef(const QCString &c,const QCString &a)
601 { foreach(&OutputGenIntf::endPageRef,c,a); }
606 void writeSplitBar(const QCString &name,const QCString &allMembersFile)
607 { foreach(&OutputGenIntf::writeSplitBar,name,allMembersFile); }
611 { foreach(&OutputGenIntf::writeLogo); }
612 void writeQuickLinks(HighlightedItem hli,const QCString &file,bool extraTabs=false)
613 { foreach(&OutputGenIntf::writeQuickLinks,hli,file,extraTabs); }
614 void writeSummaryLink(const QCString &file,const QCString &anchor,const QCString &title,bool first)
615 { foreach(&OutputGenIntf::writeSummaryLink,file,anchor,title,first); }
621 { foreach(&OutputGenIntf::endContents); }
622 void startPageDoc(const QCString &pageTitle)
623 { foreach(&OutputGenIntf::startPageDoc, pageTitle); }
625 { foreach(&OutputGenIntf::endPageDoc); }
628 void startDescTable(const QCString &title,const bool hasInits)
629 { foreach(&OutputGenIntf::startDescTable,title,hasInits); }
631 { foreach(&OutputGenIntf::endDescTable); }
670 void startTextBlock(bool dense=FALSE)
671 { foreach(&OutputGenIntf::startTextBlock,dense); }
672 void endTextBlock(bool paraBreak=FALSE)
673 { foreach(&OutputGenIntf::endTextBlock,paraBreak); }
684 void startParameterType(bool first,const QCString &key)
685 { foreach(&OutputGenIntf::startParameterType,first,key); }
688 void startParameterName(bool one)
689 { foreach(&OutputGenIntf::startParameterName,one); }
694 void endParameterExtra(bool last,bool one,bool bracket)
695 { foreach(&OutputGenIntf::endParameterExtra,last,one,bracket); }
696 void startParameterDefVal(const char *separator)
697 { foreach(&OutputGenIntf::startParameterDefVal,separator); }
700 void startParameterList(bool openBracket)
701 { foreach(&OutputGenIntf::startParameterList,openBracket); }
704 void exceptionEntry(const QCString &prefix,bool closeBracket)
705 { foreach(&OutputGenIntf::exceptionEntry,prefix,closeBracket); }
706 void startConstraintList(const QCString &header)
707 { foreach(&OutputGenIntf::startConstraintList,header); }
725 { foreach(&OutputGenIntf::endMemberDocSimple,b); }
739 { foreach(&OutputGenIntf::startLabels); }
740 void writeLabel(const QCString &l,bool isLast)
741 { foreach(&OutputGenIntf::writeLabel,l,isLast); }
743 { foreach(&OutputGenIntf::endLabels); }
744 void startLocalToc(int level)
745 { foreach(&OutputGenIntf::startLocalToc,level); }
747 { foreach(&OutputGenIntf::endLocalToc); }
749 { foreach(&OutputGenIntf::startTocEntry,si); }
750 void endTocEntry(const SectionInfo *si)
751 { foreach(&OutputGenIntf::endTocEntry,si); }
752 void cleanup()
753 { foreach(&OutputGenIntf::cleanup); }
754 void startPlainFile(const QCString &name)
755 { foreach(&OutputGenIntf::startPlainFile,name); }
757 { foreach(&OutputGenIntf::endPlainFile); }
758
759 private:
760 void newId();
761 void syncEnabled();
763
764 template<class... Ts, class... As>
765 void foreach(void (OutputGenIntf::*methodPtr)(Ts...),As&&... args)
766 {
767 for (auto &e : m_outputGenList)
768 {
769 if (e.enabled)
770 {
771 (e.intf.get()->*methodPtr)(std::forward<As>(args)...);
772 }
773 }
774 }
775
776 std::vector<OutputGenElem> m_outputGenList;
778 int m_id;
779
780};
781
782#endif
constexpr auto prefix
Definition anchor.cpp:44
Class representing a built-in class diagram.
Definition diagram.h:31
The common base class of all entity definitions found in the sources.
Definition definition.h:76
Representation of an call graph.
Representation of a class inheritance or dependency graph.
Representation of an directory dependency graph.
Definition dotdirdeps.h:26
Represents a graphical class hierarchy.
Representation of a group collaboration graph.
Representation of an include dependency graph.
opaque representation of the abstract syntax tree (AST)
Definition docparser.h:50
A model of a class/file/namespace member symbol.
Definition memberdef.h:48
Helper template class which defers all methods of OutputCodeIntf to an existing object of the templat...
Definition outputlist.h:47
void endSpecialComment() override
Definition outputlist.h:55
void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker) override
Definition outputlist.h:92
void endCodeFragment(const QCString &style) override
Definition outputlist.h:89
void endCodeLine() override
Definition outputlist.h:74
OutputCodeDefer(OutputCodeGen *codeGen)
Definition outputlist.h:49
void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor) override
Definition outputlist.h:63
void startCodeFragment(const QCString &style) override
Definition outputlist.h:86
void endFold() override
Definition outputlist.h:95
void endFontClass() override
Definition outputlist.h:80
OutputType type() const override
Definition outputlist.h:50
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override
Definition outputlist.h:57
void startCodeLine(int lineNr) override
Definition outputlist.h:71
void stripCodeComments(bool b) override
Definition outputlist.h:53
std::unique_ptr< OutputCodeIntf > clone() override
Definition outputlist.h:51
void startFontClass(const QCString &c) override
Definition outputlist.h:77
void setStripIndentAmount(size_t amount) override
Definition outputlist.h:56
void startSpecialComment() override
Definition outputlist.h:54
void writeCodeAnchor(const QCString &name) override
Definition outputlist.h:83
void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
Definition outputlist.h:67
void codify(const QCString &s) override
Definition outputlist.h:52
Base class for code generators.
Definition outputgen.h:65
virtual void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor)=0
virtual void endFold()=0
virtual void startSpecialComment()=0
virtual void writeCodeAnchor(const QCString &name)=0
virtual void startCodeLine(int lineNr)=0
virtual void startCodeFragment(const QCString &style)=0
virtual void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip)=0
virtual void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker)=0
virtual void endCodeLine()=0
virtual void startFontClass(const QCString &c)=0
virtual void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)=0
virtual void endSpecialComment()=0
virtual void endFontClass()=0
virtual void endCodeFragment(const QCString &style)=0
OutputCodeIntf()=default
virtual void stripCodeComments(bool b)=0
virtual void codify(const QCString &s)=0
virtual void setStripIndentAmount(size_t)=0
Class representing a list of different code generators.
Definition outputlist.h:165
T * add(As &&... args)
Add a code generator to the list, using a syntax similar to std::make_unique<T>().
Definition outputlist.h:202
std::vector< OutputCodeElem > m_outputCodeList
Definition outputlist.h:304
void endCodeLine()
Definition outputlist.h:267
T * get(OutputType o)
Returns a pointer to a specific generator in the list.
Definition outputlist.h:210
void codify(const QCString &s)
Definition outputlist.h:235
void endSpecialComment()
Definition outputlist.h:244
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip)
Definition outputlist.h:250
void add(OutputCodeIntfPtr &&p)
Definition outputlist.h:195
void startSpecialComment()
Definition outputlist.h:241
int id() const
Definition outputlist.h:192
void writeCodeAnchor(const QCString &name)
Definition outputlist.h:276
void setStripIndentAmount(size_t amount)
Definition outputlist.h:247
void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
Definition outputlist.h:260
void endFontClass()
Definition outputlist.h:273
void startCodeLine(int lineNr)
Definition outputlist.h:264
void setEnabledFiltered(OutputType o, bool enabled)
Enable or disable a specific generator.
Definition outputlist.h:220
void endCodeFragment(const QCString &style)
Definition outputlist.h:282
void setId(int id)
Definition outputlist.h:193
void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker)
Definition outputlist.h:285
std::unique_ptr< OutputCodeIntf > OutputCodeIntfPtr
Definition outputlist.h:167
void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor)
Definition outputlist.h:256
void startFontClass(const QCString &c)
Definition outputlist.h:270
void startCodeFragment(const QCString &style)
Definition outputlist.h:279
void stripCodeComments(bool b)
Definition outputlist.h:238
Implementation that allows capturing calls made to the code interface to later invoke them on a Outpu...
Definition outputlist.h:113
std::unique_ptr< OutputCodeIntf > clone() override
Definition outputlist.h:121
void startFontClass(const QCString &c) override
void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker) override
void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
void endFold() override
void startCodeFragment(const QCString &style) override
void startCodeLine(int) override
void stripCodeComments(bool) override
Definition outputlist.h:117
void endFontClass() override
void startNewLine(int lineNr)
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override
void codify(const QCString &s) override
std::vector< size_t > m_lineOffset
Definition outputlist.h:154
std::vector< CallInfo > m_calls
Definition outputlist.h:153
void replay(OutputCodeList &ol, int startLine, int endLine, bool showLineNumbers, bool stripComment, size_t stripIndentAmount)
void startSpecialComment() override
OutputType type() const override
Definition outputlist.h:115
void writeCodeAnchor(const QCString &name) override
void endSpecialComment() override
void endCodeFragment(const QCString &style) override
void endCodeLine() override
void setStripIndentAmount(size_t) override
Definition outputlist.h:120
void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor) override
Abstract interface for output generators.
Definition outputgen.h:127
virtual void endMemberSubtitle()=0
virtual void startConstraintList(const QCString &header)=0
virtual void startMemberDocSimple(bool b)=0
virtual void writeSearchInfo()=0
virtual void startTextLink(const QCString &file, const QCString &anchor)=0
virtual void startInlineMemberName()=0
virtual void writeSummaryLink(const QCString &file, const QCString &anchor, const QCString &title, bool first)=0
virtual void startDescTable(const QCString &title, const bool hasInits)=0
virtual void endMemberGroupDocs()=0
virtual void startInlineHeader()=0
virtual void endDescTableData()=0
virtual void endItemList()=0
virtual void startMemberDoc(const QCString &clName, const QCString &memName, const QCString &anchor, const QCString &title, int memCount, int memTotal, bool showInline)=0
virtual void startDescTableData()=0
virtual void endCallGraph(DotCallGraph &g)=0
virtual void endIndexListItem()=0
virtual void startParameterType(bool first, const QCString &key)=0
virtual void endTocEntry(const SectionInfo *si)=0
virtual void insertMemberAlignLeft(OutputGenerator::MemberItemType typ=OutputGenerator::MemberItemType::Normal, bool templ=FALSE)=0
virtual void endConstraintDocs()=0
virtual void startParameterName(bool one)=0
virtual void startConstraintType()=0
virtual void endMemberDocSimple(bool b)=0
virtual void endAnonTypeScope(int i1)=0
virtual void addIndexItem(const QCString &s1, const QCString &s2)=0
virtual void writeStyleInfo(int part)=0
virtual void writeLabel(const QCString &l, bool isLast)=0
virtual void startPageDoc(const QCString &pageTitle)=0
virtual void writePageOutline()=0
virtual void startMemberGroupHeader(const QCString &id, bool b)=0
virtual void endParameterDefVal()=0
virtual void startMemberGroup()=0
virtual void startAnonTypeScope(int i1)=0
virtual void endEmphasis()=0
virtual void endConstraintList()=0
virtual void startMemberHeader(const QCString &anchor, int typ=2)=0
virtual void startIndent()=0
virtual void endDescTableRow()=0
virtual void endDirDepGraph(DotDirDeps &g)=0
virtual void endPageDoc()=0
virtual void startTitleHead(const QCString &fileName)=0
virtual void endTypewriter()=0
virtual void startBold()=0
virtual void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md, int id, int sectionLevel)=0
virtual void endInlineMemberName()=0
virtual void startGroupHeader(const QCString &id, int extraLevels=0)=0
virtual void startMemberDocList()=0
virtual void writeRuler()=0
virtual void writeGraphicalHierarchy(DotGfxHierarchyTable &g)=0
virtual void startItemList()=0
virtual void exceptionEntry(const QCString &prefix, bool closeBracket)=0
virtual void endParameterType()=0
virtual void endPlainFile()=0
virtual void startMemberDocName(bool align)=0
virtual void startMemberSubtitle()=0
virtual void startMemberSections()=0
virtual void startQuickIndices()=0
virtual void endIndexItem(const QCString &ref, const QCString &file)=0
virtual void startIndexKey()=0
virtual void endMemberGroupHeader()=0
virtual void endParameterList()=0
virtual void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)=0
virtual void endContents()=0
virtual void endTextLink()=0
virtual void endMemberGroup(bool last)=0
virtual void startMemberDocPrefixItem()=0
virtual void lineBreak(const QCString &style=QCString())=0
virtual void endInlineHeader()=0
virtual void startDescForItem()=0
virtual void endMemberSections()=0
virtual void startInlineMemberType()=0
virtual void startGroupCollaboration()=0
virtual void endLabels()=0
virtual void endMemberHeader()=0
virtual void startIndexList()=0
virtual void startLocalToc(int level)=0
virtual void endParameterExtra(bool last, bool one, bool bracket)=0
virtual void writeSynopsis()=0
virtual void startDescTableRow()=0
virtual void writeLatexSpacing()=0
virtual void addLabel(const QCString &fName, const QCString &anchor)=0
virtual void lastIndexPage()=0
virtual void endDoxyAnchor(const QCString &fn, const QCString &anchor)=0
virtual void endSmall()=0
virtual void endQuickIndices()=0
virtual void startIndexValue(bool b)=0
virtual void endLocalToc()=0
virtual void endGroupHeader(int extraLevels=0)=0
virtual void endInclDepGraph(DotInclDepGraph &g)=0
virtual void endIndexList()=0
virtual void endInlineMemberType()=0
virtual void startConstraintDocs()=0
virtual void endMemberList()=0
virtual void cleanup()=0
virtual void startMemberTemplateParams()=0
virtual void writePageLink(const QCString &name, bool first)=0
virtual void startMemberItem(const QCString &anchor, OutputGenerator::MemberItemType type, const QCString &id=QCString())=0
virtual void endDotGraph(DotClassGraph &g)=0
virtual void endInlineMemberDoc()=0
virtual void startPlainFile(const QCString &name)=0
virtual void startCenter()=0
virtual void startExamples()=0
virtual void startParameterList(bool openBracket)=0
virtual void startTypewriter()=0
virtual void startInclDepGraph()=0
virtual void endDescTableTitle()=0
virtual void endParagraph()=0
virtual void endIndexSection(IndexSection is)=0
virtual void writeString(const QCString &text)=0
virtual void startCompoundTemplateParams()=0
virtual void endMemberDocName()=0
virtual void endParameterName()=0
virtual void startProjectNumber()=0
virtual void endMemberDescription()=0
virtual void startClassDiagram()=0
virtual void endHeaderSection()=0
virtual void endItemListItem()=0
virtual void endMemberDocList()=0
virtual void startSmall()=0
virtual void endConstraintParam()=0
virtual void endDescTable()=0
virtual void insertMemberAlign(bool templ=FALSE)=0
virtual void endMemberItem(OutputGenerator::MemberItemType type)=0
virtual void writeSplitBar(const QCString &name, const QCString &allMembersFile)=0
virtual void endGroupCollaboration(DotGroupCollaboration &g)=0
virtual void endMemberDocPrefixItem()=0
virtual void docify(const QCString &s)=0
virtual void endTextBlock(bool paraBreak=FALSE)=0
virtual void endSection(const QCString &lab, SectionType t)=0
virtual void endConstraintType()=0
virtual void startDescTableTitle()=0
virtual void startDescTableInit()=0
virtual void writeChar(char c)=0
virtual void startInlineMemberDoc()=0
virtual void startIndexItem(const QCString &ref, const QCString &file)=0
virtual void endProjectNumber()=0
virtual void writeNavigationPath(const QCString &s)=0
virtual void startDirDepGraph()=0
virtual void startMemberList()=0
virtual void endTitleHead(const QCString &fileName, const QCString &name)=0
virtual void writeQuickLinks(HighlightedItem hli, const QCString &file, bool extraTabs)=0
virtual void endClassDiagram(const ClassDiagram &d, const QCString &f, const QCString &n)=0
virtual void endPageRef(const QCString &c, const QCString &a)=0
virtual void startMemberDeclaration()=0
virtual void startMemberGroupDocs()=0
virtual void writeNonBreakableSpace(int num)=0
virtual void endDescForItem()=0
virtual void writeLogo()=0
virtual void startParameterExtra()=0
virtual void startDotGraph()=0
virtual void endExamples()=0
virtual void startParameterDefVal(const char *separator)=0
virtual void startPageRef()=0
virtual void startLabels()=0
virtual void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)=0
virtual void endDescTableInit()=0
virtual void startCallGraph()=0
virtual void startEmphasis()=0
virtual void startSection(const QCString &lab, const QCString &title, SectionType t)=0
virtual void endIndent()=0
virtual void writeFooter(const QCString &navPath)=0
virtual void endCompoundTemplateParams()=0
virtual void endMemberTemplateParams(const QCString &anchor, const QCString &inheritId)=0
virtual void startContents()=0
virtual void endIndexValue(const QCString &name, bool b)=0
virtual void startIndexSection(IndexSection is)=0
virtual void startConstraintParam()=0
virtual void endBold()=0
virtual void endFile()=0
virtual void writeInheritedSectionTitle(const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name)=0
virtual void startDoxyAnchor(const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args)=0
virtual void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)=0
virtual void startParagraph(const QCString &classDef=QCString())=0
virtual void startTocEntry(const SectionInfo *si)=0
virtual void startTextBlock(bool dense=FALSE)=0
virtual void startItemListItem()=0
virtual void endIndexKey()=0
virtual void startHeaderSection()=0
virtual void endCenter()=0
virtual void writeStartAnnoItem(const QCString &type, const QCString &file, const QCString &path, const QCString &name)=0
virtual void writeAnchor(const QCString &fileName, const QCString &name)=0
virtual void endMemberDoc(bool hasArgs)=0
virtual void startIndexListItem()=0
void endPageRef(const QCString &c, const QCString &a)
Definition outputlist.h:600
void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md, int sectionLevel=-1)
Definition outputlist.h:383
bool isEnabled(OutputType o)
void endTextBlock(bool paraBreak=FALSE)
Definition outputlist.h:672
void endIndent()
Definition outputlist.h:584
void writeString(const QCString &text)
Definition outputlist.h:411
void startMemberDeclaration()
Definition outputlist.h:569
void endConstraintType()
Definition outputlist.h:714
void startMemberDoc(const QCString &clName, const QCString &memName, const QCString &anchor, const QCString &title, int memCount, int memTotal, bool showInline)
Definition outputlist.h:531
void endDescTableRow()
Definition outputlist.h:634
void writeSearchInfo()
Definition outputlist.h:397
void startMemberDocName(bool align)
Definition outputlist.h:680
void startIndexItem(const QCString &ref, const QCString &file)
Definition outputlist.h:433
void endTitleHead(const QCString &fileName, const QCString &name)
Definition outputlist.h:405
void endParameterExtra(bool last, bool one, bool bracket)
Definition outputlist.h:694
void startClassDiagram()
Definition outputlist.h:594
void startTocEntry(const SectionInfo *si)
Definition outputlist.h:748
void endSection(const QCString &lab, SectionType t)
Definition outputlist.h:588
void endIndexValue(const QCString &name, bool b)
Definition outputlist.h:427
void startItemList()
Definition outputlist.h:429
void writeChar(char c)
Definition outputlist.h:529
void disable(OutputType o)
void startIndexKey()
Definition outputlist.h:421
void endMemberTemplateParams(const QCString &anchor, const QCString &inheritId)
Definition outputlist.h:499
void endMemberDocName()
Definition outputlist.h:682
void insertMemberAlignLeft(OutputGenerator::MemberItemType typ=OutputGenerator::MemberItemType::Normal, bool templ=FALSE)
Definition outputlist.h:519
void startInclDepGraph()
Definition outputlist.h:652
OutputCodeList m_codeGenList
Definition outputlist.h:777
void endConstraintList()
Definition outputlist.h:720
void endMemberDoc(bool hasArgs)
Definition outputlist.h:535
void startDescTableInit()
Definition outputlist.h:640
void startCallGraph()
Definition outputlist.h:656
void startTitleHead(const QCString &fileName)
Definition outputlist.h:403
void endDirDepGraph(DotDirDeps &g)
Definition outputlist.h:662
void writeRuler()
Definition outputlist.h:521
void endDescTable()
Definition outputlist.h:630
void startParameterExtra()
Definition outputlist.h:692
const OutputCodeList & codeGenerators() const
Definition outputlist.h:358
void endGroupCollaboration(DotGroupCollaboration &g)
Definition outputlist.h:666
void startParameterList(bool openBracket)
Definition outputlist.h:700
void writeLatexSpacing()
Definition outputlist.h:545
void startGroupHeader(const QCString &id=QCString(), int extraLevels=0)
Definition outputlist.h:453
void add()
Definition outputlist.h:352
void enable(OutputType o)
void endContents()
Definition outputlist.h:620
void endHeaderSection()
Definition outputlist.h:467
void endInlineMemberType()
Definition outputlist.h:728
std::vector< OutputGenElem > m_outputGenList
Definition outputlist.h:776
void endMemberDescription()
Definition outputlist.h:567
size_t size() const
Definition outputlist.h:361
void endInlineHeader()
Definition outputlist.h:487
OutputList(OutputList &&)=delete
void endMemberGroupDocs()
Definition outputlist.h:511
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)
Definition outputlist.h:439
void startGroupCollaboration()
Definition outputlist.h:664
void startInlineMemberType()
Definition outputlist.h:726
void startInlineMemberDoc()
Definition outputlist.h:734
OutputCodeList & codeGenerators()
Definition outputlist.h:359
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
Definition outputlist.h:565
void endCompoundTemplateParams()
Definition outputlist.h:503
void endIndexItem(const QCString &ref, const QCString &file)
Definition outputlist.h:435
OutputList & operator=(const OutputList &ol)
void writeGraphicalHierarchy(DotGfxHierarchyTable &g)
Definition outputlist.h:668
void writeStartAnnoItem(const QCString &type, const QCString &file, const QCString &path, const QCString &name)
Definition outputlist.h:446
void endDescTableTitle()
Definition outputlist.h:638
void startHeaderSection()
Definition outputlist.h:465
void startConstraintParam()
Definition outputlist.h:708
void endDoxyAnchor(const QCString &fn, const QCString &anchor)
Definition outputlist.h:541
void endIndexList()
Definition outputlist.h:419
void docify(const QCString &s)
Definition outputlist.h:437
void endEmphasis()
Definition outputlist.h:527
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, const DocOptions &options)
void startIndent()
Definition outputlist.h:582
void startParagraph(const QCString &classDef=QCString())
Definition outputlist.h:407
void endPageDoc()
Definition outputlist.h:624
void endIndexSection(IndexSection is)
Definition outputlist.h:387
void endFile()
Definition outputlist.h:401
void endDescForItem()
Definition outputlist.h:549
void startConstraintDocs()
Definition outputlist.h:716
void startProjectNumber()
Definition outputlist.h:391
void startTextBlock(bool dense=FALSE)
Definition outputlist.h:670
void endExamples()
Definition outputlist.h:580
void exceptionEntry(const QCString &prefix, bool closeBracket)
Definition outputlist.h:704
void endParagraph()
Definition outputlist.h:409
void endMemberDocList()
Definition outputlist.h:479
void endDescTableData()
Definition outputlist.h:646
void newId()
void endIndexKey()
Definition outputlist.h:423
void addIndexItem(const QCString &s1, const QCString &s2)
Definition outputlist.h:590
void disableAll()
void startDescTableTitle()
Definition outputlist.h:636
void startMemberGroup()
Definition outputlist.h:513
void startDirDepGraph()
Definition outputlist.h:660
void startPageRef()
Definition outputlist.h:598
void endInclDepGraph(DotInclDepGraph &g)
Definition outputlist.h:654
void startExamples()
Definition outputlist.h:578
void startMemberSections()
Definition outputlist.h:461
void endInlineMemberDoc()
Definition outputlist.h:736
void endMemberDocPrefixItem()
Definition outputlist.h:678
void startConstraintType()
Definition outputlist.h:712
void startParameterDefVal(const char *separator)
Definition outputlist.h:696
void writeLogo()
Definition outputlist.h:610
void startMemberList()
Definition outputlist.h:481
void startQuickIndices()
Definition outputlist.h:602
void startAnonTypeScope(int i1)
Definition outputlist.h:489
void endTextLink()
Definition outputlist.h:444
void startItemListItem()
Definition outputlist.h:457
void endItemListItem()
Definition outputlist.h:459
void startBold()
Definition outputlist.h:561
void endMemberItem(OutputGenerator::MemberItemType type)
Definition outputlist.h:495
void endMemberList()
Definition outputlist.h:483
void startDescTable(const QCString &title, const bool hasInits)
Definition outputlist.h:628
void writeSynopsis()
Definition outputlist.h:592
void syncEnabled()
void endConstraintDocs()
Definition outputlist.h:718
void endSmall()
Definition outputlist.h:557
void startTypewriter()
Definition outputlist.h:449
void writeStyleInfo(int part)
Definition outputlist.h:395
void addLabel(const QCString &fName, const QCString &anchor)
Definition outputlist.h:543
void startDescTableData()
Definition outputlist.h:644
void pushGeneratorState()
void insertMemberAlign(bool templ=FALSE)
Definition outputlist.h:517
void startDescForItem()
Definition outputlist.h:547
void endParameterDefVal()
Definition outputlist.h:698
void startParameterType(bool first, const QCString &key)
Definition outputlist.h:684
void startInlineHeader()
Definition outputlist.h:485
void endLocalToc()
Definition outputlist.h:746
void disableAllBut(OutputType o)
void endParameterName()
Definition outputlist.h:690
void popGeneratorState()
void startFile(const QCString &name, bool isSource, const QCString &manName, const QCString &title, int hierarchyLevel=0)
void writeSummaryLink(const QCString &file, const QCString &anchor, const QCString &title, bool first)
Definition outputlist.h:614
void endConstraintParam()
Definition outputlist.h:710
void lastIndexPage()
Definition outputlist.h:674
void startIndexValue(bool b)
Definition outputlist.h:425
void writeAnchor(const QCString &fileName, const QCString &name)
Definition outputlist.h:523
void endBold()
Definition outputlist.h:563
void endGroupHeader(int extraLevels=0)
Definition outputlist.h:455
void endClassDiagram(const ClassDiagram &d, const QCString &f, const QCString &n)
Definition outputlist.h:596
void startConstraintList(const QCString &header)
Definition outputlist.h:706
void endIndexListItem()
Definition outputlist.h:415
void startDoxyAnchor(const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args)
Definition outputlist.h:537
void endLabels()
Definition outputlist.h:742
void endQuickIndices()
Definition outputlist.h:604
void endTocEntry(const SectionInfo *si)
Definition outputlist.h:750
void endParameterList()
Definition outputlist.h:702
std::unique_ptr< OutputGenIntf > OutputGenIntfPtr
Definition outputlist.h:317
void startEmphasis()
Definition outputlist.h:525
void startPageDoc(const QCString &pageTitle)
Definition outputlist.h:622
void writePageOutline()
Definition outputlist.h:616
void endCallGraph(DotCallGraph &g)
Definition outputlist.h:658
void startInlineMemberName()
Definition outputlist.h:730
void writeSplitBar(const QCString &name, const QCString &allMembersFile)
Definition outputlist.h:606
void endDotGraph(DotClassGraph &g)
Definition outputlist.h:650
void endMemberGroupHeader()
Definition outputlist.h:507
void endMemberGroup(bool last)
Definition outputlist.h:515
void cleanup()
Definition outputlist.h:752
void endItemList()
Definition outputlist.h:431
void startDotGraph()
Definition outputlist.h:648
void writeLabel(const QCString &l, bool isLast)
Definition outputlist.h:740
void startMemberGroupDocs()
Definition outputlist.h:509
void startLabels()
Definition outputlist.h:738
void startContents()
Definition outputlist.h:618
void startCompoundTemplateParams()
Definition outputlist.h:501
void startMemberDocSimple(bool b)
Definition outputlist.h:722
void endParameterType()
Definition outputlist.h:686
void startPlainFile(const QCString &name)
Definition outputlist.h:754
void startMemberDocPrefixItem()
Definition outputlist.h:676
void startCenter()
Definition outputlist.h:551
void writeFooter(const QCString &navPath)
Definition outputlist.h:399
void endAnonTypeScope(int i1)
Definition outputlist.h:491
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
Definition outputlist.h:571
void startParameterName(bool one)
Definition outputlist.h:688
void writeNavigationPath(const QCString &s)
Definition outputlist.h:608
void startIndexList()
Definition outputlist.h:417
void startSmall()
Definition outputlist.h:555
void writePageLink(const QCString &name, bool first)
Definition outputlist.h:389
void enableAll()
~OutputList()=default
void endMemberHeader()
Definition outputlist.h:471
void endProjectNumber()
Definition outputlist.h:393
void endCenter()
Definition outputlist.h:553
void endMemberSubtitle()
Definition outputlist.h:475
void startMemberItem(const QCString &anchor, OutputGenerator::MemberItemType type, const QCString &id=QCString())
Definition outputlist.h:493
void endTypewriter()
Definition outputlist.h:451
void endInlineMemberName()
Definition outputlist.h:732
void startMemberDocList()
Definition outputlist.h:477
void endMemberDocSimple(bool b)
Definition outputlist.h:724
OutputList & operator=(OutputList &&)=delete
void startMemberSubtitle()
Definition outputlist.h:473
void startIndexListItem()
Definition outputlist.h:413
void lineBreak(const QCString &style=QCString())
Definition outputlist.h:559
void parseText(const QCString &textStr)
void refreshCodeGenerators()
void startSection(const QCString &lab, const QCString &title, SectionType t)
Definition outputlist.h:586
void writeInheritedSectionTitle(const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name)
Definition outputlist.h:573
void writeNonBreakableSpace(int num)
Definition outputlist.h:626
void startMemberGroupHeader(const QCString &id, bool b)
Definition outputlist.h:505
void startIndexSection(IndexSection is)
Definition outputlist.h:385
void endDescTableInit()
Definition outputlist.h:642
void endPlainFile()
Definition outputlist.h:756
void startTextLink(const QCString &file, const QCString &anchor)
Definition outputlist.h:442
void startDescTableRow()
Definition outputlist.h:632
void startMemberTemplateParams()
Definition outputlist.h:497
void startMemberHeader(const QCString &anchor, int typ=2)
Definition outputlist.h:469
void startLocalToc(int level)
Definition outputlist.h:744
void writeQuickLinks(HighlightedItem hli, const QCString &file, bool extraTabs=false)
Definition outputlist.h:612
void endMemberSections()
Definition outputlist.h:463
This is an alternative implementation of QCString.
Definition qcstring.h:101
class that provide information about a section.
Definition section.h:57
static QCString stripComment(const QCString &s)
Definition configimpl.l:732
HighlightedItem
Definition index.h:59
IndexSection
Definition index.h:32
OutputType
Definition outputgen.h:59
OutputCodeDefer< RTFCodeGenerator > RTFCodeGeneratorDefer
Definition outputlist.h:104
OutputCodeDefer< OutputCodeIntf > OutputCodeDeferExtension
Definition outputlist.h:107
OutputCodeDefer< LatexCodeGenerator > LatexCodeGeneratorDefer
Definition outputlist.h:103
OutputCodeDefer< HtmlCodeGenerator > HtmlCodeGeneratorDefer
Definition outputlist.h:102
OutputCodeDefer< DocbookCodeGenerator > DocbookCodeGeneratorDefer
Definition outputlist.h:106
OutputCodeDefer< ManCodeGenerator > ManCodeGeneratorDefer
Definition outputlist.h:105
#define FALSE
Definition qcstring.h:34
static QCString align(const DocHtmlCell &cell)
OutputCodeElem & operator=(const OutputCodeElem &other)
Definition outputlist.h:178
OutputCodeElem(const OutputCodeElem &other)
Definition outputlist.h:173
OutputCodeElem(OutputCodeIntfPtr &&p)
Definition outputlist.h:172
CallInfo(ConditionFunc &&c, OutputFunc &&f, bool ic)
Definition outputlist.h:147
std::function< bool()> ConditionFunc
Definition outputlist.h:145
std::function< void(OutputCodeList *)> OutputFunc
Definition outputlist.h:146
OutputGenIntfPtr intf
Definition outputlist.h:337
OutputGenElem(OutputGenIntfPtr &&v)
Definition outputlist.h:322
OutputGenElem & operator=(const OutputGenElem &other)
Definition outputlist.h:328
OutputGenElem(const OutputGenElem &other)
Definition outputlist.h:323
std::stack< bool > enabledStack
Definition outputlist.h:340
CodeSymbolType
Definition types.h:481