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
37class OutputCodeList;
38
39//-------------------------------------------------------------------------------------------
40
41/** Helper template class which defers all methods of OutputCodeIntf to an existing object of the templated type.
42 * This allows to add the same generator to multiple lists (one that owns the element, and others that refers to it).
43 */
44template<class OutputCodeGen>
46{
47 public:
48 OutputCodeDefer(OutputCodeGen *codeGen) : m_codeGen(codeGen) {}
49 OutputType type() const override { return m_codeGen->type(); }
50 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<OutputCodeDefer>(*this); }
51 void codify(const QCString &s) override { m_codeGen->codify(s); }
52 void stripCodeComments(bool b) override { m_codeGen->stripCodeComments(b); }
53 void startSpecialComment() override { m_codeGen->startSpecialComment(); }
54 void endSpecialComment() override { m_codeGen->endSpecialComment(); }
55 void setStripIndentAmount(size_t amount) override { m_codeGen->setStripIndentAmount(amount); }
57 const QCString &ref,const QCString &file,
58 const QCString &anchor,const QCString &name,
59 const QCString &tooltip) override
60 { m_codeGen->writeCodeLink(type,ref,file,anchor,name,tooltip); }
61
62 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
63 int lineNumber, bool writeLineAnchor) override
64 { m_codeGen->writeLineNumber(ref,file,anchor,lineNumber,writeLineAnchor); }
65
66 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
67 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
68 { m_codeGen->writeTooltip(id,docInfo,decl,desc,defInfo,declInfo); }
69
70 void startCodeLine(int lineNr) override
71 { m_codeGen->startCodeLine(lineNr); }
72
73 void endCodeLine() override
74 { m_codeGen->endCodeLine(); }
75
76 void startFontClass(const QCString &c) override
77 { m_codeGen->startFontClass(c); }
78
79 void endFontClass() override
80 { m_codeGen->endFontClass(); }
81
82 void writeCodeAnchor(const QCString &name) override
83 { m_codeGen->writeCodeAnchor(name); }
84
85 void startCodeFragment(const QCString &style) override
86 { m_codeGen->startCodeFragment(style); }
87
88 void endCodeFragment(const QCString &style) override
89 { m_codeGen->endCodeFragment(style); }
90
91 void startFold(int lineNr,const QCString &startMarker,const QCString &endMarker) override
92 { m_codeGen->startFold(lineNr,startMarker,endMarker); }
93
94 void endFold() override
95 { m_codeGen->endFold(); }
96
97 private:
98 OutputCodeGen *m_codeGen;
99};
100
107
108/** Implementation that allows capturing calls made to the code interface to later
109 * invoke them on a #OutputCodeList via replay().
110 */
112{
113 public:
114 OutputType type() const override { return OutputType::Recorder; }
115 void codify(const QCString &s) override;
116 void stripCodeComments(bool) override {}
117 void startSpecialComment() override;
118 void endSpecialComment() override;
119 void setStripIndentAmount(size_t) override {}
120 std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<OutputCodeRecorder>(*this); }
122 const QCString &ref,const QCString &file,
123 const QCString &anchor,const QCString &name,
124 const QCString &tooltip) override;
125 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
126 int lineNumber, bool writeLineAnchor) override;
127 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
128 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override;
129 void startCodeLine(int) override;
130 void endCodeLine() override;
131 void startFontClass(const QCString &c) override;
132 void endFontClass() override;
133 void writeCodeAnchor(const QCString &name) override;
134 void startCodeFragment(const QCString &style) override;
135 void endCodeFragment(const QCString &style) override;
136 void startFold(int lineNr,const QCString &startMarker,const QCString &endMarker) override;
137 void endFold() override;
138
139 void replay(OutputCodeList &ol,int startLine,int endLine,bool showLineNumbers,bool stripComment,size_t stripIndentAmount);
140 private:
141 void startNewLine(int lineNr);
142 struct CallInfo
143 {
144 using ConditionFunc = std::function<bool()>;
145 using OutputFunc = std::function<void(OutputCodeList*)>;
147 : condition(std::move(c)), function(std::move(f)), insideSpecialComment(ic) {}
151 };
152 std::vector<CallInfo> m_calls;
153 std::vector<size_t> m_lineOffset;
154 bool m_showLineNumbers = false;
156};
157
158
159/** Class representing a list of different code generators.
160 * It offers the same interface as the specific code generators,
161 * and will forward each method to all generators that are enabled.
162 */
164{
165 public:
166 using OutputCodeIntfPtr = std::unique_ptr<OutputCodeIntf>;
167
168 private:
170 {
171 explicit OutputCodeElem(OutputCodeIntfPtr &&p) : intf(std::move(p)) {}
173 {
174 intf = other.intf->clone();
175 enabled = other.enabled;
176 }
178 {
179 if (&other!=this)
180 {
181 intf = other.intf->clone();
182 enabled = other.enabled;
183 }
184 return *this;
185 }
187 bool enabled = true;
188 };
189 public:
190
191 int id() const { return m_id; }
192 void setId(int id) { m_id = id; }
193
195 {
196 m_outputCodeList.emplace_back(std::move(p));
197 }
198
199 /** Add a code generator to the list, using a syntax similar to std::make_unique<T>() */
200 template<class T,class... As>
201 T* add(As&&... args)
202 {
203 add(std::make_unique<T>(std::forward<As>(args)...));
204 return static_cast<T*>(m_outputCodeList.back().intf.get());
205 }
206
207 /** Returns a pointer to a specific generator in the list */
208 template<class T>
210 {
211 for (auto &e : m_outputCodeList)
212 {
213 if (e.intf->type()==o) { return static_cast<T*>(e.intf.get()); }
214 }
215 return nullptr;
216 }
217
218 /** Enable or disable a specific generator */
219 void setEnabledFiltered(OutputType o,bool enabled)
220 {
221 for (auto &e : m_outputCodeList)
222 {
223 if (e.intf->type()==o) e.enabled = enabled;
224 }
225 }
226
227 void clear()
228 {
229 m_outputCodeList.clear();
230 }
231
232 // ---- OutputCodeIntf forwarding
233
234 void codify(const QCString &s)
235 { foreach(&OutputCodeIntf::codify,s); }
236
237 void stripCodeComments(bool b)
238 { foreach(&OutputCodeIntf::stripCodeComments,b); }
239
242
245
246 void setStripIndentAmount(size_t amount)
247 { foreach(&OutputCodeIntf::setStripIndentAmount,amount); }
248
250 const QCString &ref,const QCString &file,
251 const QCString &anchor,const QCString &name,
252 const QCString &tooltip)
253 { foreach(&OutputCodeIntf::writeCodeLink,type,ref,file,anchor,name,tooltip); }
254
255 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
256 int lineNumber, bool writeLineAnchor)
257 { foreach(&OutputCodeIntf::writeLineNumber,ref,file,anchor,lineNumber,writeLineAnchor); }
258
259 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
260 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
261 { foreach(&OutputCodeIntf::writeTooltip,id,docInfo,decl,desc,defInfo,declInfo); }
262
263 void startCodeLine(int lineNr)
264 { foreach(&OutputCodeIntf::startCodeLine,lineNr); }
265
267 { foreach(&OutputCodeIntf::endCodeLine); }
268
269 void startFontClass(const QCString &c)
270 { foreach(&OutputCodeIntf::startFontClass,c); }
271
274
275 void writeCodeAnchor(const QCString &name)
276 { foreach(&OutputCodeIntf::writeCodeAnchor,name); }
277
278 void startCodeFragment(const QCString &style)
279 { foreach(&OutputCodeIntf::startCodeFragment,style); }
280
281 void endCodeFragment(const QCString &style)
282 { foreach(&OutputCodeIntf::endCodeFragment,style); }
283
284 void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker)
285 { foreach(&OutputCodeIntf::startFold,lineNr,startMarker,endMarker); }
286
287 void endFold()
288 { foreach(&OutputCodeIntf::endFold); }
289
290 private:
291 template<class... Ts, class... As>
292 void foreach(void (OutputCodeIntf::*methodPtr)(Ts...),As&&... args)
293 {
294 for (auto &e : m_outputCodeList)
295 {
296 if (e.enabled)
297 {
298 (e.intf.get()->*methodPtr)(std::forward<As>(args)...);
299 }
300 }
301 }
302
303 std::vector<OutputCodeElem> m_outputCodeList;
304 int m_id = -1;
305
306};
307
308//-------------------------------------------------------------------------------------------
309
310
311/** Class representing a list of output generators that are written to in parallel.
312 */
314{
315 public:
316 using OutputGenIntfPtr = std::unique_ptr<OutputGenIntf>;
317
318 private:
320 {
321 explicit OutputGenElem(OutputGenIntfPtr &&v) : intf(std::move(v)) {}
323 {
324 intf = other.intf->clone();
325 enabled = other.enabled;
326 }
328 {
329 if (&other!=this)
330 {
331 intf = other.intf->clone();
332 enabled = other.enabled;
333 }
334 return *this;
335 }
337 void setEnabled(bool e) { enabled = e && !enabledStack.empty() ? enabledStack.top() : e; }
338 bool enabled = true;
339 std::stack<bool> enabledStack;
340 };
341
342 public:
343 OutputList();
344 OutputList(const OutputList &ol);
345 OutputList &operator=(const OutputList &ol);
346 OutputList(OutputList &&) = delete;
348 ~OutputList() = default;
349
350 template<class DocGenerator>
351 void add()
352 {
353 m_outputGenList.emplace_back(std::make_unique<DocGenerator>());
355 }
356
357 const OutputCodeList &codeGenerators() const { return m_codeGenList; }
358 OutputCodeList &codeGenerators() { return m_codeGenList; }
359
360 size_t size() const { return m_outputGenList.size(); }
361
362 void enableAll();
363 void disableAll();
364 void disable(OutputType o);
365 void enable(OutputType o);
366 bool isEnabled(OutputType o);
368 void pushGeneratorState();
369 void popGeneratorState();
370
371 void generateDoc(const QCString &fileName,int startLine,
372 const Definition *ctx,const MemberDef *md,const QCString &docStr,
373 bool indexWords,bool isExample,const QCString &exampleName /*=0*/,
374 bool singleLine /*=FALSE*/,bool linkFromIndex /*=FALSE*/,
375 bool markdownSupport /*=FALSE*/);
376
377 void startFile(const QCString &name,const QCString &manName,const QCString &title, int hierarchyLevel=0);
378 void parseText(const QCString &textStr);
379
380 //////////////////////////////////////////////////
381 // OutputGenIntf implementation
382 //////////////////////////////////////////////////
383
384 void writeDoc(const IDocNodeAST *ast,const Definition *ctx,const MemberDef *md)
385 { foreach(&OutputGenIntf::writeDoc,ast,ctx,md,m_id); }
390 void writePageLink(const QCString &name,bool first)
391 { foreach(&OutputGenIntf::writePageLink,name,first); }
396 void writeStyleInfo(int part)
397 { foreach(&OutputGenIntf::writeStyleInfo,part); }
400 void writeFooter(const QCString &navPath)
401 { foreach(&OutputGenIntf::writeFooter,navPath); }
402 void endFile()
403 { foreach(&OutputGenIntf::endFile); }
404 void startTitleHead(const QCString &fileName)
405 { foreach(&OutputGenIntf::startTitleHead,fileName); }
406 void endTitleHead(const QCString &fileName,const QCString &name)
407 { foreach(&OutputGenIntf::endTitleHead,fileName,name); }
408 void startParagraph(const QCString &classDef=QCString())
409 { foreach(&OutputGenIntf::startParagraph,classDef); }
411 { foreach(&OutputGenIntf::endParagraph); }
412 void writeString(const QCString &text)
413 { foreach(&OutputGenIntf::writeString,text); }
421 { foreach(&OutputGenIntf::endIndexList); }
425 { foreach(&OutputGenIntf::endIndexKey); }
426 void startIndexValue(bool b)
427 { foreach(&OutputGenIntf::startIndexValue,b); }
428 void endIndexValue(const QCString &name,bool b)
429 { foreach(&OutputGenIntf::endIndexValue,name,b); }
433 { foreach(&OutputGenIntf::endItemList); }
434 void startIndexItem(const QCString &ref,const QCString &file)
435 { foreach(&OutputGenIntf::startIndexItem,ref,file); }
436 void endIndexItem(const QCString &ref,const QCString &file)
437 { foreach(&OutputGenIntf::endIndexItem,ref,file); }
438 void docify(const QCString &s)
439 { foreach(&OutputGenIntf::docify,s); }
440 void writeObjectLink(const QCString &ref,const QCString &file,
441 const QCString &anchor, const QCString &name)
442 { foreach(&OutputGenIntf::writeObjectLink,ref,file,anchor,name); }
443 void startTextLink(const QCString &file,const QCString &anchor)
444 { foreach(&OutputGenIntf::startTextLink,file,anchor); }
446 { foreach(&OutputGenIntf::endTextLink); }
447 void writeStartAnnoItem(const QCString &type,const QCString &file,
448 const QCString &path,const QCString &name)
449 { foreach(&OutputGenIntf::writeStartAnnoItem,type,file,path,name); }
454 void startGroupHeader(int extraLevels=0)
455 { foreach(&OutputGenIntf::startGroupHeader,extraLevels); }
456 void endGroupHeader(int extraLevels=0)
457 { foreach(&OutputGenIntf::endGroupHeader,extraLevels); }
470 void startMemberHeader(const QCString &anchor, int typ = 2)
471 { foreach(&OutputGenIntf::startMemberHeader,anchor,typ); }
491 { foreach(&OutputGenIntf::startAnonTypeScope,i1); }
492 void endAnonTypeScope(int i1)
493 { foreach(&OutputGenIntf::endAnonTypeScope,i1); }
494 void startMemberItem(const QCString &anchor,OutputGenerator::MemberItemType type,const QCString &id=QCString())
495 { foreach(&OutputGenIntf::startMemberItem,anchor,type,id); }
500 void endMemberTemplateParams(const QCString &anchor,const QCString &inheritId)
501 { foreach(&OutputGenIntf::endMemberTemplateParams,anchor,inheritId); }
516 void endMemberGroup(bool last)
517 { foreach(&OutputGenIntf::endMemberGroup,last); }
518 void insertMemberAlign(bool templ=FALSE)
519 { foreach(&OutputGenIntf::insertMemberAlign,templ); }
523 { foreach(&OutputGenIntf::writeRuler); }
524 void writeAnchor(const QCString &fileName,const QCString &name)
525 { foreach(&OutputGenIntf::writeAnchor,fileName,name); }
529 { foreach(&OutputGenIntf::endEmphasis); }
530 void writeChar(char c)
531 { foreach(&OutputGenIntf::writeChar,c); }
532 void startMemberDoc(const QCString &clName,const QCString &memName,
533 const QCString &anchor,const QCString &title,
534 int memCount,int memTotal,bool showInline)
535 { foreach(&OutputGenIntf::startMemberDoc,clName,memName,anchor,title,memCount,memTotal,showInline); }
536 void endMemberDoc(bool hasArgs)
537 { foreach(&OutputGenIntf::endMemberDoc,hasArgs); }
538 void startDoxyAnchor(const QCString &fName,const QCString &manName,
539 const QCString &anchor, const QCString &name,
540 const QCString &args)
541 { foreach(&OutputGenIntf::startDoxyAnchor,fName,manName,anchor,name,args); }
542 void endDoxyAnchor(const QCString &fn,const QCString &anchor)
543 { foreach(&OutputGenIntf::endDoxyAnchor,fn,anchor); }
544 void addLabel(const QCString &fName,const QCString &anchor)
545 { foreach(&OutputGenIntf::addLabel,fName,anchor); }
553 { foreach(&OutputGenIntf::startCenter); }
555 { foreach(&OutputGenIntf::endCenter); }
557 { foreach(&OutputGenIntf::startSmall); }
558 void endSmall()
559 { foreach(&OutputGenIntf::endSmall); }
560 void lineBreak(const QCString &style=QCString())
561 { foreach(&OutputGenIntf::lineBreak,style); }
563 { foreach(&OutputGenIntf::startBold); }
564 void endBold()
565 { foreach(&OutputGenIntf::endBold); }
566 void startMemberDescription(const QCString &anchor,const QCString &inheritId=QCString(), bool typ = false)
567 { foreach(&OutputGenIntf::startMemberDescription,anchor,inheritId, typ); }
572 void endMemberDeclaration(const QCString &anchor,const QCString &inheritId)
573 { foreach(&OutputGenIntf::endMemberDeclaration,anchor,inheritId); }
574 void writeInheritedSectionTitle(const QCString &id, const QCString &ref,
575 const QCString &file, const QCString &anchor,
576 const QCString &title,const QCString &name)
578 file,anchor,title,name); }
582 { foreach(&OutputGenIntf::endExamples); }
584 { foreach(&OutputGenIntf::startIndent); }
586 { foreach(&OutputGenIntf::endIndent); }
587 void startSection(const QCString &lab,const QCString &title,SectionType t)
588 { foreach(&OutputGenIntf::startSection,lab,title,t); }
589 void endSection(const QCString &lab,SectionType t)
590 { foreach(&OutputGenIntf::endSection,lab,t); }
591 void addIndexItem(const QCString &s1,const QCString &s2)
592 { foreach(&OutputGenIntf::addIndexItem,s1,s2); }
597 void endClassDiagram(const ClassDiagram &d,const QCString &f,const QCString &n)
598 { foreach(&OutputGenIntf::endClassDiagram,d,f,n); }
600 { foreach(&OutputGenIntf::startPageRef); }
601 void endPageRef(const QCString &c,const QCString &a)
602 { foreach(&OutputGenIntf::endPageRef,c,a); }
607 void writeSplitBar(const QCString &name)
608 { foreach(&OutputGenIntf::writeSplitBar,name); }
609 void writeNavigationPath(const QCString &s)
612 { foreach(&OutputGenIntf::writeLogo); }
613 void writeQuickLinks(HighlightedItem hli,const QCString &file)
614 { foreach(&OutputGenIntf::writeQuickLinks,hli,file); }
615 void writeSummaryLink(const QCString &file,const QCString &anchor,const QCString &title,bool first)
616 { foreach(&OutputGenIntf::writeSummaryLink,file,anchor,title,first); }
620 { foreach(&OutputGenIntf::endContents); }
621 void startPageDoc(const QCString &pageTitle)
622 { foreach(&OutputGenIntf::startPageDoc, pageTitle); }
624 { foreach(&OutputGenIntf::endPageDoc); }
627 void startDescTable(const QCString &title,const bool hasInits)
628 { foreach(&OutputGenIntf::startDescTable,title,hasInits); }
630 { foreach(&OutputGenIntf::endDescTable); }
649 void endDotGraph(DotClassGraph &g)
650 { foreach(&OutputGenIntf::endDotGraph,g); }
653 void endInclDepGraph(DotInclDepGraph &g)
654 { foreach(&OutputGenIntf::endInclDepGraph,g); }
657 void endCallGraph(DotCallGraph &g)
658 { foreach(&OutputGenIntf::endCallGraph,g); }
661 void endDirDepGraph(DotDirDeps &g)
662 { foreach(&OutputGenIntf::endDirDepGraph,g); }
665 void endGroupCollaboration(DotGroupCollaboration &g)
667 void writeGraphicalHierarchy(DotGfxHierarchyTable &g)
669 void startTextBlock(bool dense=FALSE)
670 { foreach(&OutputGenIntf::startTextBlock,dense); }
671 void endTextBlock(bool paraBreak=FALSE)
672 { foreach(&OutputGenIntf::endTextBlock,paraBreak); }
683 void startParameterType(bool first,const QCString &key)
684 { foreach(&OutputGenIntf::startParameterType,first,key); }
687 void startParameterName(bool one)
688 { foreach(&OutputGenIntf::startParameterName,one); }
693 void endParameterExtra(bool last,bool one,bool bracket)
694 { foreach(&OutputGenIntf::endParameterExtra,last,one,bracket); }
695 void startParameterDefVal(const char *separator)
696 { foreach(&OutputGenIntf::startParameterDefVal,separator); }
699 void startParameterList(bool openBracket)
700 { foreach(&OutputGenIntf::startParameterList,openBracket); }
703 void exceptionEntry(const QCString &prefix,bool closeBracket)
704 { foreach(&OutputGenIntf::exceptionEntry,prefix,closeBracket); }
705 void startConstraintList(const QCString &header)
706 { foreach(&OutputGenIntf::startConstraintList,header); }
724 { foreach(&OutputGenIntf::endMemberDocSimple,b); }
738 { foreach(&OutputGenIntf::startLabels); }
739 void writeLabel(const QCString &l,bool isLast)
740 { foreach(&OutputGenIntf::writeLabel,l,isLast); }
742 { foreach(&OutputGenIntf::endLabels); }
743 void writeLocalToc(const SectionRefs &refs,const LocalToc &lt)
744 { foreach(&OutputGenIntf::writeLocalToc,refs,lt); }
745 void cleanup()
746 { foreach(&OutputGenIntf::cleanup); }
747 void startPlainFile(const QCString &name)
748 { foreach(&OutputGenIntf::startPlainFile,name); }
750 { foreach(&OutputGenIntf::endPlainFile); }
751
752 private:
753 void newId();
754 void syncEnabled();
756
757 template<class... Ts, class... As>
758 void foreach(void (OutputGenIntf::*methodPtr)(Ts...),As&&... args)
759 {
760 for (auto &e : m_outputGenList)
761 {
762 if (e.enabled)
763 {
764 (e.intf.get()->*methodPtr)(std::forward<As>(args)...);
765 }
766 }
767 }
768
769 std::vector<OutputGenElem> m_outputGenList;
770 OutputCodeList m_codeGenList;
771 int m_id;
772
773};
774
775#endif
constexpr auto prefix
Definition anchor.cpp:44
Helper template class which defers all methods of OutputCodeIntf to an existing object of the templat...
Definition outputlist.h:46
void endSpecialComment() override
Definition outputlist.h:54
void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker) override
Definition outputlist.h:91
void endCodeFragment(const QCString &style) override
Definition outputlist.h:88
void endCodeLine() override
Definition outputlist.h:73
OutputCodeDefer(OutputCodeGen *codeGen)
Definition outputlist.h:48
void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor) override
Definition outputlist.h:62
void startCodeFragment(const QCString &style) override
Definition outputlist.h:85
void endFold() override
Definition outputlist.h:94
void endFontClass() override
Definition outputlist.h:79
OutputType type() const override
Definition outputlist.h:49
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override
Definition outputlist.h:56
OutputCodeGen * m_codeGen
Definition outputlist.h:98
void startCodeLine(int lineNr) override
Definition outputlist.h:70
void stripCodeComments(bool b) override
Definition outputlist.h:52
std::unique_ptr< OutputCodeIntf > clone() override
Definition outputlist.h:50
void startFontClass(const QCString &c) override
Definition outputlist.h:76
void setStripIndentAmount(size_t amount) override
Definition outputlist.h:55
void startSpecialComment() override
Definition outputlist.h:53
void writeCodeAnchor(const QCString &name) override
Definition outputlist.h:82
void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
Definition outputlist.h:66
void codify(const QCString &s) override
Definition outputlist.h:51
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:164
T * add(As &&... args)
Add a code generator to the list, using a syntax similar to std::make_unique<T>()
Definition outputlist.h:201
std::vector< OutputCodeElem > m_outputCodeList
Definition outputlist.h:303
void endCodeLine()
Definition outputlist.h:266
T * get(OutputType o)
Returns a pointer to a specific generator in the list.
Definition outputlist.h:209
void codify(const QCString &s)
Definition outputlist.h:234
void endSpecialComment()
Definition outputlist.h:243
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip)
Definition outputlist.h:249
void add(OutputCodeIntfPtr &&p)
Definition outputlist.h:194
void startSpecialComment()
Definition outputlist.h:240
int id() const
Definition outputlist.h:191
void writeCodeAnchor(const QCString &name)
Definition outputlist.h:275
void setStripIndentAmount(size_t amount)
Definition outputlist.h:246
void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
Definition outputlist.h:259
void endFontClass()
Definition outputlist.h:272
void startCodeLine(int lineNr)
Definition outputlist.h:263
void setEnabledFiltered(OutputType o, bool enabled)
Enable or disable a specific generator.
Definition outputlist.h:219
void endCodeFragment(const QCString &style)
Definition outputlist.h:281
void setId(int id)
Definition outputlist.h:192
void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker)
Definition outputlist.h:284
std::unique_ptr< OutputCodeIntf > OutputCodeIntfPtr
Definition outputlist.h:166
void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor)
Definition outputlist.h:255
void startFontClass(const QCString &c)
Definition outputlist.h:269
void startCodeFragment(const QCString &style)
Definition outputlist.h:278
void stripCodeComments(bool b)
Definition outputlist.h:237
Implementation that allows capturing calls made to the code interface to later invoke them on a Outpu...
Definition outputlist.h:112
std::unique_ptr< OutputCodeIntf > clone() override
Definition outputlist.h:120
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:116
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:153
std::vector< CallInfo > m_calls
Definition outputlist.h:152
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:114
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:119
void writeLineNumber(const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor) override
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 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 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 endInlineMemberName()=0
virtual void startMemberDocList()=0
virtual void writeRuler()=0
virtual void writeGraphicalHierarchy(DotGfxHierarchyTable &g)=0
virtual void startItemList()=0
virtual void writeSplitBar(const QCString &name)=0
virtual void exceptionEntry(const QCString &prefix, bool closeBracket)=0
virtual void startMemberGroupHeader(bool b)=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 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 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 writeQuickLinks(HighlightedItem hli, const QCString &file)=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 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 startGroupHeader(int extraLevels=0)=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 writeLocalToc(const SectionRefs &refs, const LocalToc &lt)=0
virtual void endProjectNumber()=0
virtual void writeNavigationPath(const QCString &s)=0
virtual void startDirDepGraph()=0
virtual void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md, int id)=0
virtual void startMemberList()=0
virtual void endTitleHead(const QCString &fileName, const QCString &name)=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 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:601
bool isEnabled(OutputType o)
void startMemberGroupHeader(bool b)
Definition outputlist.h:506
void endTextBlock(bool paraBreak=FALSE)
Definition outputlist.h:671
void endIndent()
Definition outputlist.h:585
void writeString(const QCString &text)
Definition outputlist.h:412
void startGroupHeader(int extraLevels=0)
Definition outputlist.h:454
void startMemberDeclaration()
Definition outputlist.h:570
void endConstraintType()
Definition outputlist.h:713
void startMemberDoc(const QCString &clName, const QCString &memName, const QCString &anchor, const QCString &title, int memCount, int memTotal, bool showInline)
Definition outputlist.h:532
void endDescTableRow()
Definition outputlist.h:633
void writeSearchInfo()
Definition outputlist.h:398
void startMemberDocName(bool align)
Definition outputlist.h:679
void startIndexItem(const QCString &ref, const QCString &file)
Definition outputlist.h:434
void endTitleHead(const QCString &fileName, const QCString &name)
Definition outputlist.h:406
void endParameterExtra(bool last, bool one, bool bracket)
Definition outputlist.h:693
void startClassDiagram()
Definition outputlist.h:595
void endSection(const QCString &lab, SectionType t)
Definition outputlist.h:589
void endIndexValue(const QCString &name, bool b)
Definition outputlist.h:428
void startItemList()
Definition outputlist.h:430
void writeChar(char c)
Definition outputlist.h:530
void disable(OutputType o)
void startIndexKey()
Definition outputlist.h:422
void endMemberTemplateParams(const QCString &anchor, const QCString &inheritId)
Definition outputlist.h:500
void endMemberDocName()
Definition outputlist.h:681
void insertMemberAlignLeft(OutputGenerator::MemberItemType typ=OutputGenerator::MemberItemType::Normal, bool templ=FALSE)
Definition outputlist.h:520
void startInclDepGraph()
Definition outputlist.h:651
OutputCodeList m_codeGenList
Definition outputlist.h:770
void endConstraintList()
Definition outputlist.h:719
void endMemberDoc(bool hasArgs)
Definition outputlist.h:536
void startDescTableInit()
Definition outputlist.h:639
void startCallGraph()
Definition outputlist.h:655
void startTitleHead(const QCString &fileName)
Definition outputlist.h:404
void endDirDepGraph(DotDirDeps &g)
Definition outputlist.h:661
void writeRuler()
Definition outputlist.h:522
void endDescTable()
Definition outputlist.h:629
void startParameterExtra()
Definition outputlist.h:691
void writeSplitBar(const QCString &name)
Definition outputlist.h:607
const OutputCodeList & codeGenerators() const
Definition outputlist.h:357
void endGroupCollaboration(DotGroupCollaboration &g)
Definition outputlist.h:665
void startParameterList(bool openBracket)
Definition outputlist.h:699
void writeLatexSpacing()
Definition outputlist.h:546
void add()
Definition outputlist.h:351
void enable(OutputType o)
void endContents()
Definition outputlist.h:619
void endHeaderSection()
Definition outputlist.h:468
void endInlineMemberType()
Definition outputlist.h:727
std::vector< OutputGenElem > m_outputGenList
Definition outputlist.h:769
void endMemberDescription()
Definition outputlist.h:568
size_t size() const
Definition outputlist.h:360
void endInlineHeader()
Definition outputlist.h:488
OutputList(OutputList &&)=delete
void endMemberGroupDocs()
Definition outputlist.h:512
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)
Definition outputlist.h:440
void startGroupCollaboration()
Definition outputlist.h:663
void startInlineMemberType()
Definition outputlist.h:725
void startInlineMemberDoc()
Definition outputlist.h:733
OutputCodeList & codeGenerators()
Definition outputlist.h:358
void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md)
Definition outputlist.h:384
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
Definition outputlist.h:566
void endCompoundTemplateParams()
Definition outputlist.h:504
void endIndexItem(const QCString &ref, const QCString &file)
Definition outputlist.h:436
OutputList & operator=(const OutputList &ol)
void writeGraphicalHierarchy(DotGfxHierarchyTable &g)
Definition outputlist.h:667
void writeStartAnnoItem(const QCString &type, const QCString &file, const QCString &path, const QCString &name)
Definition outputlist.h:447
void startFile(const QCString &name, const QCString &manName, const QCString &title, int hierarchyLevel=0)
void endDescTableTitle()
Definition outputlist.h:637
void startHeaderSection()
Definition outputlist.h:466
void startConstraintParam()
Definition outputlist.h:707
void endDoxyAnchor(const QCString &fn, const QCString &anchor)
Definition outputlist.h:542
void endIndexList()
Definition outputlist.h:420
void docify(const QCString &s)
Definition outputlist.h:438
void endEmphasis()
Definition outputlist.h:528
void startIndent()
Definition outputlist.h:583
void startParagraph(const QCString &classDef=QCString())
Definition outputlist.h:408
void endPageDoc()
Definition outputlist.h:623
void endIndexSection(IndexSection is)
Definition outputlist.h:388
void endFile()
Definition outputlist.h:402
void endDescForItem()
Definition outputlist.h:550
void startConstraintDocs()
Definition outputlist.h:715
void startProjectNumber()
Definition outputlist.h:392
void startTextBlock(bool dense=FALSE)
Definition outputlist.h:669
void endExamples()
Definition outputlist.h:581
void exceptionEntry(const QCString &prefix, bool closeBracket)
Definition outputlist.h:703
void endParagraph()
Definition outputlist.h:410
void endMemberDocList()
Definition outputlist.h:480
void endDescTableData()
Definition outputlist.h:645
void newId()
void endIndexKey()
Definition outputlist.h:424
void addIndexItem(const QCString &s1, const QCString &s2)
Definition outputlist.h:591
void disableAll()
void startDescTableTitle()
Definition outputlist.h:635
void startMemberGroup()
Definition outputlist.h:514
void startDirDepGraph()
Definition outputlist.h:659
void startPageRef()
Definition outputlist.h:599
void endInclDepGraph(DotInclDepGraph &g)
Definition outputlist.h:653
void startExamples()
Definition outputlist.h:579
void startMemberSections()
Definition outputlist.h:462
void endInlineMemberDoc()
Definition outputlist.h:735
void endMemberDocPrefixItem()
Definition outputlist.h:677
void startConstraintType()
Definition outputlist.h:711
void startParameterDefVal(const char *separator)
Definition outputlist.h:695
void writeLogo()
Definition outputlist.h:611
void startMemberList()
Definition outputlist.h:482
void startQuickIndices()
Definition outputlist.h:603
void startAnonTypeScope(int i1)
Definition outputlist.h:490
void endTextLink()
Definition outputlist.h:445
void startItemListItem()
Definition outputlist.h:458
void endItemListItem()
Definition outputlist.h:460
void startBold()
Definition outputlist.h:562
void endMemberItem(OutputGenerator::MemberItemType type)
Definition outputlist.h:496
void endMemberList()
Definition outputlist.h:484
void startDescTable(const QCString &title, const bool hasInits)
Definition outputlist.h:627
void writeSynopsis()
Definition outputlist.h:593
void syncEnabled()
void endConstraintDocs()
Definition outputlist.h:717
void endSmall()
Definition outputlist.h:558
void startTypewriter()
Definition outputlist.h:450
void writeStyleInfo(int part)
Definition outputlist.h:396
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
void addLabel(const QCString &fName, const QCString &anchor)
Definition outputlist.h:544
void startDescTableData()
Definition outputlist.h:643
void pushGeneratorState()
void insertMemberAlign(bool templ=FALSE)
Definition outputlist.h:518
void startDescForItem()
Definition outputlist.h:548
void endParameterDefVal()
Definition outputlist.h:697
void startParameterType(bool first, const QCString &key)
Definition outputlist.h:683
void startInlineHeader()
Definition outputlist.h:486
void disableAllBut(OutputType o)
void endParameterName()
Definition outputlist.h:689
void popGeneratorState()
void writeSummaryLink(const QCString &file, const QCString &anchor, const QCString &title, bool first)
Definition outputlist.h:615
void endConstraintParam()
Definition outputlist.h:709
void lastIndexPage()
Definition outputlist.h:673
void startIndexValue(bool b)
Definition outputlist.h:426
void writeAnchor(const QCString &fileName, const QCString &name)
Definition outputlist.h:524
void endBold()
Definition outputlist.h:564
void endGroupHeader(int extraLevels=0)
Definition outputlist.h:456
void endClassDiagram(const ClassDiagram &d, const QCString &f, const QCString &n)
Definition outputlist.h:597
void startConstraintList(const QCString &header)
Definition outputlist.h:705
void endIndexListItem()
Definition outputlist.h:416
void startDoxyAnchor(const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args)
Definition outputlist.h:538
void endLabels()
Definition outputlist.h:741
void endQuickIndices()
Definition outputlist.h:605
void endParameterList()
Definition outputlist.h:701
std::unique_ptr< OutputGenIntf > OutputGenIntfPtr
Definition outputlist.h:316
void startEmphasis()
Definition outputlist.h:526
void startPageDoc(const QCString &pageTitle)
Definition outputlist.h:621
void endCallGraph(DotCallGraph &g)
Definition outputlist.h:657
void startInlineMemberName()
Definition outputlist.h:729
void endDotGraph(DotClassGraph &g)
Definition outputlist.h:649
void endMemberGroupHeader()
Definition outputlist.h:508
void endMemberGroup(bool last)
Definition outputlist.h:516
void cleanup()
Definition outputlist.h:745
void endItemList()
Definition outputlist.h:432
void startDotGraph()
Definition outputlist.h:647
void writeLabel(const QCString &l, bool isLast)
Definition outputlist.h:739
void startMemberGroupDocs()
Definition outputlist.h:510
void startLabels()
Definition outputlist.h:737
void startContents()
Definition outputlist.h:617
void startCompoundTemplateParams()
Definition outputlist.h:502
void startMemberDocSimple(bool b)
Definition outputlist.h:721
void writeLocalToc(const SectionRefs &refs, const LocalToc &lt)
Definition outputlist.h:743
void endParameterType()
Definition outputlist.h:685
void startPlainFile(const QCString &name)
Definition outputlist.h:747
void startMemberDocPrefixItem()
Definition outputlist.h:675
void startCenter()
Definition outputlist.h:552
void writeFooter(const QCString &navPath)
Definition outputlist.h:400
void endAnonTypeScope(int i1)
Definition outputlist.h:492
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
Definition outputlist.h:572
void startParameterName(bool one)
Definition outputlist.h:687
void writeNavigationPath(const QCString &s)
Definition outputlist.h:609
void startIndexList()
Definition outputlist.h:418
void startSmall()
Definition outputlist.h:556
void writePageLink(const QCString &name, bool first)
Definition outputlist.h:390
void enableAll()
~OutputList()=default
void endMemberHeader()
Definition outputlist.h:472
void endProjectNumber()
Definition outputlist.h:394
void endCenter()
Definition outputlist.h:554
void endMemberSubtitle()
Definition outputlist.h:476
void writeQuickLinks(HighlightedItem hli, const QCString &file)
Definition outputlist.h:613
void startMemberItem(const QCString &anchor, OutputGenerator::MemberItemType type, const QCString &id=QCString())
Definition outputlist.h:494
void endTypewriter()
Definition outputlist.h:452
void endInlineMemberName()
Definition outputlist.h:731
void startMemberDocList()
Definition outputlist.h:478
void endMemberDocSimple(bool b)
Definition outputlist.h:723
OutputList & operator=(OutputList &&)=delete
void startMemberSubtitle()
Definition outputlist.h:474
void startIndexListItem()
Definition outputlist.h:414
void lineBreak(const QCString &style=QCString())
Definition outputlist.h:560
void parseText(const QCString &textStr)
void refreshCodeGenerators()
void startSection(const QCString &lab, const QCString &title, SectionType t)
Definition outputlist.h:587
void writeInheritedSectionTitle(const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name)
Definition outputlist.h:574
void writeNonBreakableSpace(int num)
Definition outputlist.h:625
void startIndexSection(IndexSection is)
Definition outputlist.h:386
void endDescTableInit()
Definition outputlist.h:641
void endPlainFile()
Definition outputlist.h:749
void startTextLink(const QCString &file, const QCString &anchor)
Definition outputlist.h:443
void startDescTableRow()
Definition outputlist.h:631
void startMemberTemplateParams()
Definition outputlist.h:498
void startMemberHeader(const QCString &anchor, int typ=2)
Definition outputlist.h:470
void endMemberSections()
Definition outputlist.h:464
static QCString stripComment(const QCString &s)
Definition configimpl.l:742
HighlightedItem
Definition index.h:59
IndexSection
Definition index.h:32
OutputType
Definition outputgen.h:59
OutputCodeDefer< RTFCodeGenerator > RTFCodeGeneratorDefer
Definition outputlist.h:103
OutputCodeDefer< OutputCodeIntf > OutputCodeDeferExtension
Definition outputlist.h:106
OutputCodeDefer< LatexCodeGenerator > LatexCodeGeneratorDefer
Definition outputlist.h:102
OutputCodeDefer< HtmlCodeGenerator > HtmlCodeGeneratorDefer
Definition outputlist.h:101
OutputCodeDefer< DocbookCodeGenerator > DocbookCodeGeneratorDefer
Definition outputlist.h:105
OutputCodeDefer< ManCodeGenerator > ManCodeGeneratorDefer
Definition outputlist.h:104
#define FALSE
Definition qcstring.h:34
static QCString align(const DocHtmlCell &cell)
OutputCodeElem & operator=(const OutputCodeElem &other)
Definition outputlist.h:177
OutputCodeElem(const OutputCodeElem &other)
Definition outputlist.h:172
OutputCodeElem(OutputCodeIntfPtr &&p)
Definition outputlist.h:171
CallInfo(ConditionFunc &&c, OutputFunc &&f, bool ic)
Definition outputlist.h:146
std::function< bool()> ConditionFunc
Definition outputlist.h:144
std::function< void(OutputCodeList *)> OutputFunc
Definition outputlist.h:145
OutputGenIntfPtr intf
Definition outputlist.h:336
OutputGenElem(OutputGenIntfPtr &&v)
Definition outputlist.h:321
OutputGenElem & operator=(const OutputGenElem &other)
Definition outputlist.h:327
OutputGenElem(const OutputGenElem &other)
Definition outputlist.h:322
std::stack< bool > enabledStack
Definition outputlist.h:339
CodeSymbolType
Definition types.h:319