Doxygen
Loading...
Searching...
No Matches
ManDocVisitor Class Reference

Concrete visitor implementation for LaTeX output. More...

#include <src/mandocvisitor.h>

Inheritance diagram for ManDocVisitor:
Collaboration diagram for ManDocVisitor:

Classes

struct  ManListItemInfo

Public Member Functions

 ManDocVisitor (TextStream &t, OutputCodeList &ci, const QCString &langExt)
void operator() (const DocWord &)
void operator() (const DocLinkedWord &)
void operator() (const DocWhiteSpace &)
void operator() (const DocSymbol &)
void operator() (const DocEmoji &)
void operator() (const DocURL &)
void operator() (const DocLineBreak &)
void operator() (const DocHorRuler &)
void operator() (const DocStyleChange &)
void operator() (const DocVerbatim &)
void operator() (const DocAnchor &)
void operator() (const DocInclude &)
void operator() (const DocIncOperator &)
void operator() (const DocFormula &)
void operator() (const DocIndexEntry &)
void operator() (const DocSimpleSectSep &)
void operator() (const DocCite &)
void operator() (const DocSeparator &)
void operator() (const DocAutoList &)
void operator() (const DocAutoListItem &)
void operator() (const DocPara &)
void operator() (const DocRoot &)
void operator() (const DocSimpleSect &)
void operator() (const DocTitle &)
void operator() (const DocSimpleList &)
void operator() (const DocSimpleListItem &)
void operator() (const DocSection &s)
void operator() (const DocHtmlList &s)
void operator() (const DocHtmlListItem &)
void operator() (const DocHtmlDescList &)
void operator() (const DocHtmlDescTitle &)
void operator() (const DocHtmlDescData &)
void operator() (const DocHtmlTable &t)
void operator() (const DocHtmlCaption &)
void operator() (const DocHtmlRow &)
void operator() (const DocHtmlCell &)
void operator() (const DocInternal &)
void operator() (const DocHRef &)
void operator() (const DocHtmlSummary &)
void operator() (const DocHtmlDetails &)
void operator() (const DocHtmlHeader &)
void operator() (const DocImage &)
void operator() (const DocDotFile &)
void operator() (const DocMscFile &)
void operator() (const DocDiaFile &)
void operator() (const DocPlantUmlFile &)
void operator() (const DocLink &lnk)
void operator() (const DocRef &ref)
void operator() (const DocSecRefItem &)
void operator() (const DocSecRefList &)
void operator() (const DocParamSect &)
void operator() (const DocParamList &)
void operator() (const DocXRefItem &)
void operator() (const DocInternalRef &)
void operator() (const DocText &)
void operator() (const DocHtmlBlockQuote &)
void operator() (const DocVhdlFlow &)
void operator() (const DocParBlock &)
Public Member Functions inherited from DocVisitor
 DocVisitor ()
virtual ~DocVisitor ()
CodeParserInterfacegetCodeParser (const QCString &langExt)
void pushHidden (bool hide)
bool popHidden ()

Private Member Functions

template<class T>
void visitChildren (const T &t)
void filter (const QCString &str, const bool retainNewline=false)

Private Attributes

TextStreamm_t
OutputCodeListm_ci
bool m_insidePre
bool m_hide
bool m_firstCol
int m_indent
QCString m_langExt
std::array< ManListItemInfo, maxIndentLevelsm_listItemInfo

Static Private Attributes

static const int maxIndentLevels = 13

Detailed Description

Concrete visitor implementation for LaTeX output.

Definition at line 33 of file mandocvisitor.h.

Constructor & Destructor Documentation

◆ ManDocVisitor()

ManDocVisitor::ManDocVisitor ( TextStream & t,
OutputCodeList & ci,
const QCString & langExt )

Definition at line 32 of file mandocvisitor.cpp.

35 m_indent(0), m_langExt(langExt)
36{
37}
TextStream & m_t
OutputCodeList & m_ci
QCString m_langExt
#define FALSE
Definition qcstring.h:34

References FALSE, m_ci, m_firstCol, m_hide, m_indent, m_insidePre, m_langExt, and m_t.

Member Function Documentation

◆ filter()

void ManDocVisitor::filter ( const QCString & str,
const bool retainNewline = false )
private

Definition at line 988 of file mandocvisitor.cpp.

989{
990 if (!str.isEmpty())
991 {
992 const char *p=str.data();
993 char c=0;
994 bool insideDoubleQuote = false;
995 while ((c=*p++))
996 {
997 switch(c)
998 {
999 case '.': m_t << "\\&."; break; // see bug652277
1000 case '\\': m_t << "\\\\"; break;
1001 case '\"': m_t << "\""; insideDoubleQuote = !insideDoubleQuote; break;
1002 case '\n': if (retainNewline || !insideDoubleQuote) m_t << c; break;
1003 default: m_t << c; break;
1004 }
1005 }
1006 }
1007}
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
Definition qcstring.h:159

References QCString::data(), QCString::isEmpty(), and m_t.

Referenced by operator()(), operator()(), operator()(), operator()(), operator()(), and operator()().

◆ operator()() [1/58]

void ManDocVisitor::operator() ( const DocAnchor & )

Definition at line 253 of file mandocvisitor.cpp.

254{
255 /* no support for anchors in man pages */
256}

◆ operator()() [2/58]

void ManDocVisitor::operator() ( const DocAutoList & l)

Definition at line 447 of file mandocvisitor.cpp.

448{
449 if (m_hide) return;
450 m_indent++;
451 visitChildren(l);
452 m_indent--;
453 m_t << ".PP\n";
454}
void visitChildren(const T &t)

References m_hide, m_indent, m_t, and visitChildren().

◆ operator()() [3/58]

void ManDocVisitor::operator() ( const DocAutoListItem & li)

Definition at line 456 of file mandocvisitor.cpp.

457{
458 if (m_hide) return;
459 QCString ws;
460 if (m_indent>0) ws.fill(' ',2*(m_indent-1));
461 if (!m_firstCol) m_t << "\n";
462 m_t << ".IP \"" << ws;
463 const DocAutoList *list = std::get_if<DocAutoList>(li.parent());
464 if (list && list->isEnumList())
465 {
466 m_t << li.itemNumber() << ".\" " << (2*(m_indent+1));
467 }
468 else // bullet list
469 {
470 switch (li.itemNumber())
471 {
472 case DocAutoList::Unchecked: // unchecked
473 m_t << "[ ]\" " << (2*m_indent) + 2;
474 break;
475 case DocAutoList::Checked_x: // checked with x
476 m_t << "[x]\" " << (2*m_indent) + 2;
477 break;
478 case DocAutoList::Checked_X: // checked with X
479 m_t << "[X]\" " << (2*m_indent) + 2;
480 break;
481 default:
482 m_t << "\\(bu\" " << (2*m_indent);
483 break;
484 }
485 }
486 m_t << "\n";
488 visitChildren(li);
489 m_t << "\n";
491}
bool isEnumList() const
Definition docnode.h:576
int itemNumber() const
Definition docnode.h:594
DocNodeVariant * parent()
Definition docnode.h:89
void fill(char c, int len=-1)
Fills a string with a predefined character.
Definition qcstring.h:180
#define TRUE
Definition qcstring.h:37

References DocAutoList::Checked_X, DocAutoList::Checked_x, QCString::fill(), DocAutoList::isEnumList(), DocAutoListItem::itemNumber(), m_firstCol, m_hide, m_indent, m_t, DocNode::parent(), TRUE, DocAutoList::Unchecked, and visitChildren().

◆ operator()() [4/58]

void ManDocVisitor::operator() ( const DocCite & cite)

Definition at line 426 of file mandocvisitor.cpp.

427{
428 if (m_hide) return;
429 m_t << "\\fB";
430 if (cite.file().isEmpty()) m_t << "[";
431 filter(cite.text());
432 if (cite.file().isEmpty()) m_t << "]";
433 m_t << "\\fP";
434}
QCString text() const
Definition docnode.h:251
QCString file() const
Definition docnode.h:247
void filter(const QCString &str, const bool retainNewline=false)

References DocCite::file(), filter(), QCString::isEmpty(), m_hide, m_t, and DocCite::text().

◆ operator()() [5/58]

void ManDocVisitor::operator() ( const DocDiaFile & )

Definition at line 828 of file mandocvisitor.cpp.

829{
830}

◆ operator()() [6/58]

void ManDocVisitor::operator() ( const DocDotFile & )

Definition at line 820 of file mandocvisitor.cpp.

821{
822}

◆ operator()() [7/58]

void ManDocVisitor::operator() ( const DocEmoji & s)

Definition at line 90 of file mandocvisitor.cpp.

91{
92 if (m_hide) return;
93 const char *res = EmojiEntityMapper::instance().name(s.index());
94 if (res)
95 {
96 m_t << res;
97 }
98 else
99 {
100 m_t << s.name();
101 }
103}
int index() const
Definition docnode.h:341
QCString name() const
Definition docnode.h:340
const char * name(int index) const
Access routine to the name of the Emoji entity.
Definition emoji.cpp:2026
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Definition emoji.cpp:1978

References FALSE, DocEmoji::index(), EmojiEntityMapper::instance(), m_firstCol, m_hide, m_t, DocEmoji::name(), and EmojiEntityMapper::name().

◆ operator()() [8/58]

void ManDocVisitor::operator() ( const DocFormula & f)

Definition at line 412 of file mandocvisitor.cpp.

413{
414 if (m_hide) return;
415 m_t << f.text();
416}
QCString text() const
Definition docnode.h:529

References m_hide, m_t, and DocFormula::text().

◆ operator()() [9/58]

void ManDocVisitor::operator() ( const DocHorRuler & )

Definition at line 119 of file mandocvisitor.cpp.

120{
121 if (m_hide) return;
122 if (!m_firstCol) m_t << "\n";
123 m_t << ".PP\n";
125}

References m_firstCol, m_hide, m_t, and TRUE.

◆ operator()() [10/58]

void ManDocVisitor::operator() ( const DocHRef & href)

Definition at line 764 of file mandocvisitor.cpp.

765{
766 if (m_hide) return;
767 m_t << "\\fR";
768 visitChildren(href);
769 m_t << "\\fP";
770}

References m_hide, m_t, and visitChildren().

◆ operator()() [11/58]

void ManDocVisitor::operator() ( const DocHtmlBlockQuote & q)

Definition at line 963 of file mandocvisitor.cpp.

964{
965 if (m_hide) return;
966 if (!m_firstCol)
967 {
968 m_t << "\n";
969 m_t << ".PP\n";
970 }
971 m_t << ".RS 4\n"; // TODO: add support for nested block quotes
972 visitChildren(q);
973 if (!m_firstCol) m_t << "\n";
974 m_t << ".RE\n";
975 m_t << ".PP\n";
977}

References m_firstCol, m_hide, m_t, TRUE, and visitChildren().

◆ operator()() [12/58]

void ManDocVisitor::operator() ( const DocHtmlCaption & c)

Definition at line 744 of file mandocvisitor.cpp.

745{
746 visitChildren(c);
747}

References visitChildren().

◆ operator()() [13/58]

void ManDocVisitor::operator() ( const DocHtmlCell & c)

Definition at line 754 of file mandocvisitor.cpp.

755{
756 visitChildren(c);
757}

References visitChildren().

◆ operator()() [14/58]

void ManDocVisitor::operator() ( const DocHtmlDescData & dd)

Definition at line 731 of file mandocvisitor.cpp.

732{
733 if (!m_firstCol) m_t << "\n";
734 m_t << ".IP \"\" 1c\n";
736 visitChildren(dd);
737}

References m_firstCol, m_t, TRUE, and visitChildren().

◆ operator()() [15/58]

void ManDocVisitor::operator() ( const DocHtmlDescList & dl)

Definition at line 710 of file mandocvisitor.cpp.

711{
712 if (m_hide) return;
713 m_indent+=2;
714 visitChildren(dl);
715 m_indent-=2;
716 if (!m_firstCol) m_t << "\n";
717 m_t << "\n.PP\n";
719}

References m_firstCol, m_hide, m_indent, m_t, TRUE, and visitChildren().

◆ operator()() [16/58]

void ManDocVisitor::operator() ( const DocHtmlDescTitle & dt)

Definition at line 721 of file mandocvisitor.cpp.

722{
723 if (m_hide) return;
724 if (!m_firstCol) m_t << "\n";
725 m_t << "\n.PP";
726 m_t << "\n.IP \"\\fB";
728 visitChildren(dt);
729}

References FALSE, m_firstCol, m_hide, m_t, and visitChildren().

◆ operator()() [17/58]

void ManDocVisitor::operator() ( const DocHtmlDetails & d)

Definition at line 779 of file mandocvisitor.cpp.

780{
781 if (m_hide) return;
782 if (!m_firstCol)
783 {
784 m_t << "\n";
785 m_t << ".PP\n";
786 }
787 auto summary = d.summary();
788 if (summary)
789 {
790 std::visit(*this,*summary);
791 m_t << ".PP\n";
792 m_t << ".RS 4\n";
793 }
794 visitChildren(d);
795 if (!m_firstCol) m_t << "\n";
796 if (summary)
797 {
798 m_t << ".RE\n";
799 }
800 m_t << ".PP\n";
802}
const DocNodeVariant * summary() const
Definition docnode.h:859

References m_firstCol, m_hide, m_t, DocHtmlDetails::summary(), TRUE, and visitChildren().

◆ operator()() [18/58]

void ManDocVisitor::operator() ( const DocHtmlHeader & header)

Definition at line 804 of file mandocvisitor.cpp.

805{
806 if (m_hide) return;
807 if (!m_firstCol) m_t << "\n";
808 if (header.level()==1) m_t << ".SH"; else m_t << ".SS";
809 m_t << " \"";
810 visitChildren(header);
811 m_t << "\"\n";
812 if (header.level()==1) m_t << ".PP\n";
814}
int level() const
Definition docnode.h:872

References DocHtmlHeader::level(), m_firstCol, m_hide, m_t, TRUE, and visitChildren().

◆ operator()() [19/58]

void ManDocVisitor::operator() ( const DocHtmlList & s)

Definition at line 626 of file mandocvisitor.cpp.

627{
628 if (m_hide) return;
629 m_indent++;
630 if (!m_firstCol) m_t << "\n";
631 m_t << ".PD 0\n";
632 m_firstCol=true;
633 int indent = std::min(m_indent,maxIndentLevels-1);
634 m_listItemInfo[indent].number = 1;
635 m_listItemInfo[indent].type = '1';
636 for (const auto &opt : l.attribs())
637 {
638 if (opt.name=="type")
639 {
640 m_listItemInfo[indent].type = opt.value[0];
641 }
642 if (opt.name=="start")
643 {
644 bool ok = false;
645 int val = opt.value.toInt(&ok);
646 if (ok) m_listItemInfo[indent].number = val;
647 }
648 }
649 visitChildren(l);
650 m_indent--;
651 if (!m_firstCol) m_t << "\n";
652 m_t << ".PP\n";
653}
std::array< ManListItemInfo, maxIndentLevels > m_listItemInfo
static const int maxIndentLevels

References DocHtmlList::attribs(), m_firstCol, m_hide, m_indent, m_listItemInfo, m_t, maxIndentLevels, and visitChildren().

◆ operator()() [20/58]

void ManDocVisitor::operator() ( const DocHtmlListItem & li)

Definition at line 655 of file mandocvisitor.cpp.

656{
657 if (m_hide) return;
658 QCString ws;
659 if (m_indent>0) ws.fill(' ',2*(m_indent-1));
660 if (!m_firstCol) m_t << "\n";
661 m_t << ".IP \"" << ws;
662 const DocHtmlList *list = std::get_if<DocHtmlList>(li.parent());
663 if (list && list->type()==DocHtmlList::Ordered)
664 {
665 int indent = std::min(m_indent,maxIndentLevels-1);
666 for (const auto &opt : li.attribs())
667 {
668 if (opt.name=="value")
669 {
670 bool ok = false;
671 int val = opt.value.toInt(&ok);
672 if (ok) m_listItemInfo[indent].number = val;
673 }
674 }
675 switch (m_listItemInfo[indent].type)
676 {
677 case '1':
678 m_t << m_listItemInfo[indent].number;
679 break;
680 case 'a':
681 m_t << integerToAlpha(m_listItemInfo[indent].number,false);
682 break;
683 case 'A':
684 m_t << integerToAlpha(m_listItemInfo[indent].number);
685 break;
686 case 'i':
687 m_t << integerToRoman(m_listItemInfo[indent].number,false);
688 break;
689 case 'I':
690 m_t << integerToRoman(m_listItemInfo[indent].number);
691 break;
692 default:
693 m_t << m_listItemInfo[indent].number;
694 break;
695 }
696 m_t << ".\" " << ((m_indent+1)*2);
697 m_listItemInfo[indent].number++;
698 }
699 else // bullet list
700 {
701 m_t << "\\(bu\" " << (m_indent*2);
702 }
703 m_t << "\n";
705 visitChildren(li);
706 m_t << "\n";
708}
Type type() const
Definition docnode.h:1000
const HtmlAttribList & attribs() const
Definition docnode.h:1165
QCString integerToRoman(int n, bool upper)
Definition util.cpp:7175
QCString integerToAlpha(int n, bool upper)
Definition util.cpp:7159

References DocHtmlListItem::attribs(), QCString::fill(), integerToAlpha(), integerToRoman(), m_firstCol, m_hide, m_indent, m_listItemInfo, m_t, maxIndentLevels, DocHtmlList::Ordered, DocNode::parent(), TRUE, DocHtmlList::type(), and visitChildren().

◆ operator()() [21/58]

void ManDocVisitor::operator() ( const DocHtmlRow & r)

Definition at line 749 of file mandocvisitor.cpp.

750{
751 visitChildren(r);
752}

References visitChildren().

◆ operator()() [22/58]

void ManDocVisitor::operator() ( const DocHtmlSummary & s)

Definition at line 772 of file mandocvisitor.cpp.

773{
774 m_t << "\\fB";
775 visitChildren(s);
776 m_t << "\\fP\n.PP\n";
777}

References m_t, and visitChildren().

◆ operator()() [23/58]

void ManDocVisitor::operator() ( const DocHtmlTable & t)

Definition at line 739 of file mandocvisitor.cpp.

740{
741 visitChildren(t);
742}

References visitChildren().

◆ operator()() [24/58]

void ManDocVisitor::operator() ( const DocImage & )

Definition at line 816 of file mandocvisitor.cpp.

817{
818}

◆ operator()() [25/58]

void ManDocVisitor::operator() ( const DocInclude & inc)

Definition at line 258 of file mandocvisitor.cpp.

259{
260 if (m_hide) return;
262 switch(inc.type())
263 {
265 {
266 if (!m_firstCol) m_t << "\n";
267 m_t << ".PP\n";
268 m_t << ".nf\n";
269 FileInfo cfi( inc.file().str() );
270 auto fd = createFileDef( cfi.dirPath(), cfi.fileName() );
272 inc.text(),
273 langExt,
274 inc.stripCodeComments(),
275 inc.isExample(),
276 inc.exampleFile(),
277 fd.get(), // fileDef,
278 -1, // start line
279 -1, // end line
280 FALSE, // inline fragment
281 nullptr, // memberDef
282 TRUE
283 );
284 m_t << ".fi\n";
285 m_t << ".PP\n";
287 }
288 break;
290 if (!m_firstCol) m_t << "\n";
291 m_t << ".PP\n";
292 m_t << ".nf\n";
294 inc.text(),
295 langExt,
296 inc.stripCodeComments(),
297 inc.isExample(),
298 inc.exampleFile(),
299 nullptr, // fileDef
300 -1, // startLine
301 -1, // endLine
302 TRUE, // inlineFragment
303 nullptr, // memberDef
304 FALSE
305 );
306 m_t << ".fi\n";
307 m_t << ".PP\n";
309 break;
317 break;
319 m_t << inc.text();
320 break;
322 if (!m_firstCol) m_t << "\n";
323 m_t << ".PP\n";
324 m_t << ".nf\n";
325 m_t << inc.text();
326 if (!m_firstCol) m_t << "\n";
327 m_t << ".fi\n";
328 m_t << ".PP\n";
330 break;
333 if (!m_firstCol) m_t << "\n";
334 m_t << ".PP\n";
335 m_t << ".nf\n";
337 inc.file(),
338 inc.blockId(),
339 inc.context(),
341 inc.trimLeft(),
343 );
344 m_t << ".fi\n";
345 m_t << ".PP\n";
347 break;
348 }
349}
void parseCodeFragment(OutputCodeList &codeOutList, const QCString &fileName, const QCString &blockId, const QCString &scopeName, bool showLineNumbers, bool trimLeft, bool stripCodeComments)
static CodeFragmentManager & instance()
virtual void parseCode(OutputCodeList &codeOutList, const QCString &scopeName, const QCString &input, SrcLangExt lang, bool stripCodeComments, bool isExampleBlock, const QCString &exampleName=QCString(), const FileDef *fileDef=nullptr, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, const MemberDef *memberDef=nullptr, bool showLineNumbers=TRUE, const Definition *searchCtx=nullptr, bool collectXRefs=TRUE)=0
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
QCString blockId() const
Definition docnode.h:450
QCString extension() const
Definition docnode.h:446
bool stripCodeComments() const
Definition docnode.h:451
@ LatexInclude
Definition docnode.h:433
@ SnippetWithLines
Definition docnode.h:434
@ DontIncWithLines
Definition docnode.h:435
@ IncWithLines
Definition docnode.h:434
@ HtmlInclude
Definition docnode.h:433
@ VerbInclude
Definition docnode.h:433
@ DontInclude
Definition docnode.h:433
@ DocbookInclude
Definition docnode.h:435
Type type() const
Definition docnode.h:447
QCString exampleFile() const
Definition docnode.h:453
QCString text() const
Definition docnode.h:448
QCString file() const
Definition docnode.h:445
bool trimLeft() const
Definition docnode.h:455
bool isExample() const
Definition docnode.h:452
QCString context() const
Definition docnode.h:449
CodeParserInterface & getCodeParser(const QCString &langExt)
const std::string & str() const
Definition qcstring.h:537
std::unique_ptr< FileDef > createFileDef(const QCString &p, const QCString &n, const QCString &ref, const QCString &dn)
Definition filedef.cpp:268
SrcLangExt
Definition types.h:207
SrcLangExt getLanguageFromFileName(const QCString &fileName, SrcLangExt defLang)
Definition util.cpp:5721

References DocInclude::blockId(), DocInclude::context(), createFileDef(), FileInfo::dirPath(), DocInclude::DocbookInclude, DocInclude::DontInclude, DocInclude::DontIncWithLines, DocInclude::exampleFile(), DocInclude::extension(), FALSE, DocInclude::file(), FileInfo::fileName(), DocVisitor::getCodeParser(), getLanguageFromFileName(), DocInclude::HtmlInclude, DocInclude::Include, DocInclude::IncWithLines, CodeFragmentManager::instance(), DocInclude::isExample(), DocInclude::LatexInclude, m_ci, m_firstCol, m_hide, m_t, DocInclude::ManInclude, CodeParserInterface::parseCode(), CodeFragmentManager::parseCodeFragment(), DocInclude::RtfInclude, DocInclude::Snippet, DocInclude::SnippetWithLines, QCString::str(), DocInclude::stripCodeComments(), DocInclude::text(), DocInclude::trimLeft(), TRUE, DocInclude::type(), DocInclude::VerbInclude, and DocInclude::XmlInclude.

◆ operator()() [26/58]

void ManDocVisitor::operator() ( const DocIncOperator & op)

Definition at line 351 of file mandocvisitor.cpp.

352{
353 QCString locLangExt = getFileNameExtension(op.includeFileName());
354 if (locLangExt.isEmpty()) locLangExt = m_langExt;
355 SrcLangExt langExt = getLanguageFromFileName(locLangExt);
356 //printf("DocIncOperator: type=%d first=%d, last=%d text='%s'\n",
357 // op.type(),op.isFirst(),op.isLast(),qPrint(op.text()));
358 if (op.isFirst())
359 {
360 if (!m_hide)
361 {
362 if (!m_firstCol) m_t << "\n";
363 m_t << ".PP\n";
364 m_t << ".nf\n";
365 }
367 m_hide = TRUE;
368 }
369 if (op.type()!=DocIncOperator::Skip)
370 {
371 m_hide = popHidden();
372 if (!m_hide)
373 {
374 std::unique_ptr<FileDef> fd;
375 if (!op.includeFileName().isEmpty())
376 {
377 FileInfo cfi( op.includeFileName().str() );
378 fd = createFileDef( cfi.dirPath(), cfi.fileName() );
379 }
380
381 getCodeParser(locLangExt).parseCode(m_ci,op.context(),op.text(),langExt,
383 op.isExample(),op.exampleFile(),
384 fd.get(), // fileDef
385 op.line(), // startLine
386 -1, // endLine
387 FALSE, // inline fragment
388 nullptr, // memberDef
389 op.showLineNo() // show line numbers
390 );
391 }
393 m_hide=TRUE;
394 }
395 if (op.isLast())
396 {
397 m_hide = popHidden();
398 if (!m_hide)
399 {
400 if (!m_firstCol) m_t << "\n";
401 m_t << ".fi\n";
402 m_t << ".PP\n";
404 }
405 }
406 else
407 {
408 if (!m_hide) m_t << "\n";
409 }
410}
bool stripCodeComments() const
Definition docnode.h:502
bool isLast() const
Definition docnode.h:499
QCString includeFileName() const
Definition docnode.h:505
QCString text() const
Definition docnode.h:495
QCString context() const
Definition docnode.h:497
QCString exampleFile() const
Definition docnode.h:504
int line() const
Definition docnode.h:493
Type type() const
Definition docnode.h:481
bool isFirst() const
Definition docnode.h:498
bool showLineNo() const
Definition docnode.h:494
bool isExample() const
Definition docnode.h:503
void pushHidden(bool hide)
bool popHidden()
QCString getFileNameExtension(const QCString &fn)
Definition util.cpp:5763

References DocIncOperator::context(), createFileDef(), FileInfo::dirPath(), DocIncOperator::exampleFile(), FALSE, FileInfo::fileName(), DocVisitor::getCodeParser(), getFileNameExtension(), getLanguageFromFileName(), DocIncOperator::includeFileName(), QCString::isEmpty(), DocIncOperator::isExample(), DocIncOperator::isFirst(), DocIncOperator::isLast(), DocIncOperator::line(), m_ci, m_firstCol, m_hide, m_langExt, m_t, CodeParserInterface::parseCode(), DocVisitor::popHidden(), DocVisitor::pushHidden(), DocIncOperator::showLineNo(), DocIncOperator::Skip, QCString::str(), DocIncOperator::stripCodeComments(), DocIncOperator::text(), TRUE, and DocIncOperator::type().

◆ operator()() [27/58]

void ManDocVisitor::operator() ( const DocIndexEntry & )

Definition at line 418 of file mandocvisitor.cpp.

419{
420}

◆ operator()() [28/58]

void ManDocVisitor::operator() ( const DocInternal & i)

Definition at line 759 of file mandocvisitor.cpp.

760{
761 visitChildren(i);
762}

References visitChildren().

◆ operator()() [29/58]

void ManDocVisitor::operator() ( const DocInternalRef & ref)

Definition at line 950 of file mandocvisitor.cpp.

951{
952 if (m_hide) return;
953 m_t << "\\fB";
954 visitChildren(ref);
955 m_t << "\\fP";
956}

References m_hide, m_t, and visitChildren().

◆ operator()() [30/58]

void ManDocVisitor::operator() ( const DocLineBreak & )

Definition at line 112 of file mandocvisitor.cpp.

113{
114 if (m_hide) return;
115 m_t << "\n.br\n";
117}

References m_firstCol, m_hide, m_t, and TRUE.

◆ operator()() [31/58]

void ManDocVisitor::operator() ( const DocLink & lnk)

Definition at line 836 of file mandocvisitor.cpp.

837{
838 if (m_hide) return;
839 m_t << "\\fB";
840 visitChildren(dl);
841 m_t << "\\fP";
842}

References m_hide, m_t, and visitChildren().

◆ operator()() [32/58]

void ManDocVisitor::operator() ( const DocLinkedWord & w)

Definition at line 50 of file mandocvisitor.cpp.

51{
52 if (m_hide) return;
53 m_t << "\\fB";
54 filter(w.word());
55 m_t << "\\fP";
57}
QCString word() const
Definition docnode.h:169

References FALSE, filter(), m_firstCol, m_hide, m_t, and DocLinkedWord::word().

◆ operator()() [33/58]

void ManDocVisitor::operator() ( const DocMscFile & )

Definition at line 824 of file mandocvisitor.cpp.

825{
826}

◆ operator()() [34/58]

void ManDocVisitor::operator() ( const DocPara & p)

Definition at line 493 of file mandocvisitor.cpp.

494{
495 if (m_hide) return;
496 visitChildren(p);
497 if (!p.isLast() && // omit <p> for last paragraph
498 !(p.parent() && // and for parameter sections
499 std::get_if<DocParamSect>(p.parent())
500 )
501 )
502 {
503 if (!m_firstCol) m_t << "\n";
504 m_t << "\n.PP\n";
506 }
507}
bool isLast() const
Definition docnode.h:1083

References DocPara::isLast(), m_firstCol, m_hide, m_t, DocNode::parent(), TRUE, and visitChildren().

◆ operator()() [35/58]

void ManDocVisitor::operator() ( const DocParamList & pl)

Definition at line 907 of file mandocvisitor.cpp.

908{
909 if (m_hide) return;
910 m_t << "\\fI";
911 bool first=TRUE;
912 for (const auto &param : pl.parameters())
913 {
914 if (!first) m_t << ","; else first=FALSE;
915 std::visit(*this,param);
916 }
917 m_t << "\\fP ";
918 for (const auto &par : pl.paragraphs())
919 {
920 std::visit(*this,par);
921 }
922 if (!pl.isLast())
923 {
924 if (!m_firstCol) m_t << "\n";
925 m_t << ".br\n";
926 }
927}
const DocNodeList & parameters() const
Definition docnode.h:1124
bool isLast() const
Definition docnode.h:1132
const DocNodeList & paragraphs() const
Definition docnode.h:1126

References FALSE, DocParamList::isLast(), m_firstCol, m_hide, m_t, DocParamList::paragraphs(), DocParamList::parameters(), and TRUE.

◆ operator()() [36/58]

void ManDocVisitor::operator() ( const DocParamSect & s)

Definition at line 876 of file mandocvisitor.cpp.

877{
878 if (m_hide) return;
879 if (!m_firstCol)
880 {
881 m_t << "\n";
882 m_t << ".PP\n";
883 }
884 m_t << "\\fB";
885 switch(s.type())
886 {
888 m_t << theTranslator->trParameters(); break;
890 m_t << theTranslator->trReturnValues(); break;
892 m_t << theTranslator->trExceptions(); break;
895 default:
896 ASSERT(0);
897 }
898 m_t << "\\fP\n";
899 m_t << ".RS 4\n";
900 visitChildren(s);
901 if (!m_firstCol) m_t << "\n";
902 m_t << ".RE\n";
903 m_t << ".PP\n";
905}
Type type() const
Definition docnode.h:1063
virtual QCString trExceptions()=0
virtual QCString trParameters()=0
virtual QCString trTemplateParameters()=0
virtual QCString trReturnValues()=0
Translator * theTranslator
Definition language.cpp:71
#define ASSERT(x)
Definition qcstring.h:39

References ASSERT, DocParamSect::Exception, m_firstCol, m_hide, m_t, DocParamSect::Param, DocParamSect::RetVal, DocParamSect::TemplateParam, theTranslator, TRUE, DocParamSect::type(), and visitChildren().

◆ operator()() [37/58]

void ManDocVisitor::operator() ( const DocParBlock & pb)

Definition at line 983 of file mandocvisitor.cpp.

984{
985 visitChildren(pb);
986}

References visitChildren().

◆ operator()() [38/58]

void ManDocVisitor::operator() ( const DocPlantUmlFile & )

Definition at line 832 of file mandocvisitor.cpp.

833{
834}

◆ operator()() [39/58]

void ManDocVisitor::operator() ( const DocRef & ref)

Definition at line 844 of file mandocvisitor.cpp.

845{
846 if (m_hide) return;
847 m_t << "\\fB";
848 if (!ref.hasLinkText()) filter(ref.targetTitle());
849 visitChildren(ref);
850 m_t << "\\fP";
851}
QCString targetTitle() const
Definition docnode.h:781
bool hasLinkText() const
Definition docnode.h:783

References filter(), DocRef::hasLinkText(), m_hide, m_t, DocRef::targetTitle(), and visitChildren().

◆ operator()() [40/58]

void ManDocVisitor::operator() ( const DocRoot & r)

Definition at line 509 of file mandocvisitor.cpp.

510{
511 visitChildren(r);
512}

References visitChildren().

◆ operator()() [41/58]

void ManDocVisitor::operator() ( const DocSecRefItem & ref)

Definition at line 853 of file mandocvisitor.cpp.

854{
855 if (m_hide) return;
856 QCString ws;
857 if (m_indent>0) ws.fill(' ',2*(m_indent-1));
858 if (!m_firstCol) m_t << "\n";
859 m_t << ".IP \"" << ws << "\\(bu\" " << (2*m_indent) << "\n";
861 visitChildren(ref);
862 m_t << "\n";
864}

References QCString::fill(), m_firstCol, m_hide, m_indent, m_t, TRUE, and visitChildren().

◆ operator()() [42/58]

void ManDocVisitor::operator() ( const DocSecRefList & l)

Definition at line 866 of file mandocvisitor.cpp.

867{
868 if (m_hide) return;
869 m_indent++;
870 visitChildren(l);
871 m_indent--;
872 if (!m_firstCol) m_t << "\n";
873 m_t << ".PP\n";
874}

References m_firstCol, m_hide, m_indent, m_t, and visitChildren().

◆ operator()() [43/58]

void ManDocVisitor::operator() ( const DocSection & s)

Definition at line 610 of file mandocvisitor.cpp.

611{
612 if (m_hide) return;
613 if (!m_firstCol) m_t << "\n";
614 if (s.level()==1) m_t << ".SH"; else m_t << ".SS";
615 m_t << " \"";
616 if (s.title())
617 {
618 std::visit(*this,*s.title());
619 }
620 m_t << "\"\n";
621 if (s.level()==1) m_t << ".PP\n";
623 visitChildren(s);
624}
int level() const
Definition docnode.h:913
const DocNodeVariant * title() const
Definition docnode.h:914

References DocSection::level(), m_firstCol, m_hide, m_t, DocSection::title(), TRUE, and visitChildren().

◆ operator()() [44/58]

void ManDocVisitor::operator() ( const DocSeparator & s)

Definition at line 436 of file mandocvisitor.cpp.

437{
438 if (m_hide) return;
439 m_t << s.chars();
440}
QCString chars() const
Definition docnode.h:365

References DocSeparator::chars(), m_hide, and m_t.

◆ operator()() [45/58]

void ManDocVisitor::operator() ( const DocSimpleList & l)

Definition at line 582 of file mandocvisitor.cpp.

583{
584 if (m_hide) return;
585 m_indent++;
586 if (!m_firstCol) m_t << "\n";
587 m_t << ".PD 0\n";
588 m_firstCol=true;
589 visitChildren(l);
590 m_indent--;
591 m_t << ".PP\n";
592}

References m_firstCol, m_hide, m_indent, m_t, and visitChildren().

◆ operator()() [46/58]

void ManDocVisitor::operator() ( const DocSimpleListItem & li)

Definition at line 594 of file mandocvisitor.cpp.

595{
596 if (m_hide) return;
597 QCString ws;
598 if (m_indent>0) ws.fill(' ',2*(m_indent-1));
599 if (!m_firstCol) m_t << "\n";
600 m_t << ".IP \"" << ws << "\\(bu\" " << m_indent << "\n";
602 if (li.paragraph())
603 {
604 visit(*this,*li.paragraph());
605 }
606 m_t << "\n";
608}
const DocNodeVariant * paragraph() const
Definition docnode.h:1152

References QCString::fill(), m_firstCol, m_hide, m_indent, m_t, DocSimpleListItem::paragraph(), and TRUE.

◆ operator()() [47/58]

void ManDocVisitor::operator() ( const DocSimpleSect & s)

Definition at line 514 of file mandocvisitor.cpp.

515{
516 if (m_hide) return;
517 if (!m_firstCol)
518 {
519 m_t << "\n";
520 m_t << ".PP\n";
521 }
522 m_t << "\\fB";
523 switch(s.type())
524 {
526 m_t << theTranslator->trSeeAlso(); break;
528 m_t << theTranslator->trReturns(); break;
530 m_t << theTranslator->trAuthor(TRUE,TRUE); break;
532 m_t << theTranslator->trAuthor(TRUE,FALSE); break;
534 m_t << theTranslator->trVersion(); break;
536 m_t << theTranslator->trSince(); break;
538 m_t << theTranslator->trDate(); break;
540 m_t << theTranslator->trNote(); break;
542 m_t << theTranslator->trWarning(); break;
544 m_t << theTranslator->trPrecondition(); break;
546 m_t << theTranslator->trPostcondition(); break;
548 m_t << theTranslator->trCopyright(); break;
550 m_t << theTranslator->trInvariant(); break;
552 m_t << theTranslator->trRemarks(); break;
554 m_t << theTranslator->trAttention(); break;
556 m_t << theTranslator->trImportant(); break;
557 case DocSimpleSect::User: break;
558 case DocSimpleSect::Rcs: break;
559 case DocSimpleSect::Unknown: break;
560 }
561
562 // special case 1: user defined title
563 if (s.title())
564 {
565 std::visit(*this,*s.title());
566 }
567 m_t << "\\fP\n";
568 m_t << ".RS 4\n";
569 visitChildren(s);
570 if (!m_firstCol) m_t << "\n";
571 m_t << ".RE\n";
572 m_t << ".PP\n";
574}
Type type() const
Definition docnode.h:1021
const DocNodeVariant * title() const
Definition docnode.h:1028
virtual QCString trPrecondition()=0
virtual QCString trSince()=0
virtual QCString trVersion()=0
virtual QCString trReturns()=0
virtual QCString trRemarks()=0
virtual QCString trNote()=0
virtual QCString trPostcondition()=0
virtual QCString trAttention()=0
virtual QCString trCopyright()=0
virtual QCString trDate()=0
virtual QCString trAuthor(bool first_capital, bool singular)=0
virtual QCString trWarning()=0
virtual QCString trSeeAlso()=0
virtual QCString trImportant()=0
virtual QCString trInvariant()=0

References DocSimpleSect::Attention, DocSimpleSect::Author, DocSimpleSect::Authors, DocSimpleSect::Copyright, DocSimpleSect::Date, FALSE, DocSimpleSect::Important, DocSimpleSect::Invar, m_firstCol, m_hide, m_t, DocSimpleSect::Note, DocSimpleSect::Post, DocSimpleSect::Pre, DocSimpleSect::Rcs, DocSimpleSect::Remark, DocSimpleSect::Return, DocSimpleSect::See, DocSimpleSect::Since, theTranslator, DocSimpleSect::title(), TRUE, DocSimpleSect::type(), DocSimpleSect::Unknown, DocSimpleSect::User, DocSimpleSect::Version, visitChildren(), and DocSimpleSect::Warning.

◆ operator()() [48/58]

void ManDocVisitor::operator() ( const DocSimpleSectSep & )

Definition at line 422 of file mandocvisitor.cpp.

423{
424}

◆ operator()() [49/58]

void ManDocVisitor::operator() ( const DocStyleChange & s)

Definition at line 127 of file mandocvisitor.cpp.

128{
129 if (m_hide) return;
130 switch (s.style())
131 {
133 if (s.enable()) m_t << "\\fB"; else m_t << "\\fP";
135 break;
139 /* not supported */
140 break;
141 case DocStyleChange::Underline: //underline is shown as emphasis
143 if (s.enable()) m_t << "\\fI"; else m_t << "\\fP";
145 break;
147 if (s.enable()) m_t << "\\fI"; else m_t << "\\fP";
149 break;
153 if (s.enable()) m_t << "\\fR"; else m_t << "\\fP";
155 break;
157 if (s.enable()) m_t << "\\*<"; else m_t << "\\*> ";
159 break;
161 if (s.enable()) m_t << "\\*{"; else m_t << "\\*} ";
163 break;
165 /* not supported */
166 break;
168 /* not supported */
169 break;
171 /* not supported */
172 break;
174 if (s.enable())
175 {
176 if (!m_firstCol) m_t << "\n";
177 m_t << ".PP\n";
178 m_t << ".nf\n";
180 }
181 else
182 {
184 if (!m_firstCol) m_t << "\n";
185 m_t << ".fi\n";
186 m_t << ".PP\n";
188 }
189 break;
190 case DocStyleChange::Div: /* HTML only */ break;
191 case DocStyleChange::Span: /* HTML only */ break;
192 }
193}
Style style() const
Definition docnode.h:303
bool enable() const
Definition docnode.h:305

References DocStyleChange::Bold, DocStyleChange::Center, DocStyleChange::Cite, DocStyleChange::Code, DocStyleChange::Del, DocStyleChange::Div, DocStyleChange::enable(), FALSE, DocStyleChange::Ins, DocStyleChange::Italic, DocStyleChange::Kbd, m_firstCol, m_hide, m_insidePre, m_t, DocStyleChange::Preformatted, DocStyleChange::S, DocStyleChange::Small, DocStyleChange::Span, DocStyleChange::Strike, DocStyleChange::style(), DocStyleChange::Subscript, DocStyleChange::Superscript, TRUE, DocStyleChange::Typewriter, and DocStyleChange::Underline.

◆ operator()() [50/58]

void ManDocVisitor::operator() ( const DocSymbol & s)

Definition at line 74 of file mandocvisitor.cpp.

75{
76 if (m_hide) return;
77 const char *res = HtmlEntityMapper::instance().man(s.symbol());
78 if (res)
79 {
80 m_t << res;
81 }
82 else
83 {
84 // no error or warning to be supplied
85 // err("man: non supported HTML-entity found: &{};\n",get_symbol_item(s->symbol()));
86 }
88}
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:328
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
const char * man(SymType symb) const
Access routine to the man code of the HTML entity.

References FALSE, HtmlEntityMapper::instance(), m_firstCol, m_hide, m_t, HtmlEntityMapper::man(), and DocSymbol::symbol().

◆ operator()() [51/58]

void ManDocVisitor::operator() ( const DocText & t)

Definition at line 958 of file mandocvisitor.cpp.

959{
960 visitChildren(t);
961}

References visitChildren().

◆ operator()() [52/58]

void ManDocVisitor::operator() ( const DocTitle & t)

Definition at line 576 of file mandocvisitor.cpp.

577{
578 if (m_hide) return;
579 visitChildren(t);
580}

References m_hide, and visitChildren().

◆ operator()() [53/58]

void ManDocVisitor::operator() ( const DocURL & u)

Definition at line 105 of file mandocvisitor.cpp.

106{
107 if (m_hide) return;
108 m_t << u.url();
110}
QCString url() const
Definition docnode.h:191

References FALSE, m_firstCol, m_hide, m_t, and DocURL::url().

◆ operator()() [54/58]

void ManDocVisitor::operator() ( const DocVerbatim & s)

Definition at line 195 of file mandocvisitor.cpp.

196{
197 if (m_hide) return;
198 QCString lang = m_langExt;
199 if (!s.language().isEmpty()) // explicit language setting
200 {
201 lang = s.language();
202 }
203 SrcLangExt langExt = getLanguageFromCodeLang(lang);
204 switch (s.type())
205 {
207 if (!m_firstCol) m_t << "\n";
208 m_t << ".PP\n";
209 m_t << ".nf\n";
211 langExt,
212 Config_getBool(STRIP_CODE_COMMENTS),
213 s.isExample(),s.exampleFile());
214 if (!m_firstCol) m_t << "\n";
215 m_t << ".fi\n";
216 m_t << ".PP\n";
218 break;
220 filter(s.text(),true);
221 break;
223 m_t << "\\fR\n";
224 filter(s.text(),true);
225 m_t << "\\fP\n";
226 break;
228 if (!m_firstCol) m_t << "\n";
229 m_t << ".PP\n";
230 m_t << ".nf\n";
231 filter(s.text(),true);
232 if (!m_firstCol) m_t << "\n";
233 m_t << ".fi\n";
234 m_t << ".PP\n";
236 break;
238 m_t << s.text();
239 break;
245 case DocVerbatim::Dot:
246 case DocVerbatim::Msc:
248 /* nothing */
249 break;
250 }
251}
QCString language() const
Definition docnode.h:384
bool isExample() const
Definition docnode.h:381
QCString context() const
Definition docnode.h:380
Type type() const
Definition docnode.h:378
QCString text() const
Definition docnode.h:379
QCString exampleFile() const
Definition docnode.h:382
@ JavaDocLiteral
Definition docnode.h:374
#define Config_getBool(name)
Definition config.h:33
SrcLangExt getLanguageFromCodeLang(QCString &fileName)
Routine to handle the language attribute of the \code command.
Definition util.cpp:5739

References DocVerbatim::Code, Config_getBool, DocVerbatim::context(), DocVerbatim::DocbookOnly, DocVerbatim::Dot, DocVerbatim::exampleFile(), filter(), DocVisitor::getCodeParser(), getLanguageFromCodeLang(), DocVerbatim::HtmlOnly, QCString::isEmpty(), DocVerbatim::isExample(), DocVerbatim::JavaDocCode, DocVerbatim::JavaDocLiteral, DocVerbatim::language(), DocVerbatim::LatexOnly, m_ci, m_firstCol, m_hide, m_langExt, m_t, DocVerbatim::ManOnly, DocVerbatim::Msc, CodeParserInterface::parseCode(), DocVerbatim::PlantUML, DocVerbatim::RtfOnly, DocVerbatim::text(), TRUE, DocVerbatim::type(), DocVerbatim::Verbatim, and DocVerbatim::XmlOnly.

◆ operator()() [55/58]

void ManDocVisitor::operator() ( const DocVhdlFlow & )

Definition at line 979 of file mandocvisitor.cpp.

980{
981}

◆ operator()() [56/58]

void ManDocVisitor::operator() ( const DocWhiteSpace & w)

Definition at line 59 of file mandocvisitor.cpp.

60{
61 if (m_hide) return;
62 if (m_insidePre)
63 {
64 m_t << w.chars();
65 m_firstCol=w.chars().at(w.chars().length()-1)=='\n';
66 }
67 else
68 {
69 m_t << " ";
71 }
72}
QCString chars() const
Definition docnode.h:354
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:153
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:578

References QCString::at(), DocWhiteSpace::chars(), FALSE, QCString::length(), m_firstCol, m_hide, m_insidePre, and m_t.

◆ operator()() [57/58]

void ManDocVisitor::operator() ( const DocWord & w)

Definition at line 43 of file mandocvisitor.cpp.

44{
45 if (m_hide) return;
46 filter(w.word());
48}
QCString word() const
Definition docnode.h:155

References FALSE, filter(), m_firstCol, m_hide, and DocWord::word().

◆ operator()() [58/58]

void ManDocVisitor::operator() ( const DocXRefItem & x)

Definition at line 929 of file mandocvisitor.cpp.

930{
931 if (m_hide) return;
932 if (x.title().isEmpty()) return;
933 if (!m_firstCol)
934 {
935 m_t << "\n";
936 m_t << ".PP\n";
937 }
938 m_t << "\\fB";
939 filter(x.title());
940 m_t << "\\fP\n";
941 m_t << ".RS 4\n";
942 visitChildren(x);
943 if (x.title().isEmpty()) return;
944 if (!m_firstCol) m_t << "\n";
945 m_t << ".RE\n";
946 m_t << ".PP\n";
948}
QCString title() const
Definition docnode.h:621

References filter(), QCString::isEmpty(), m_firstCol, m_hide, m_t, DocXRefItem::title(), TRUE, and visitChildren().

◆ visitChildren()

template<class T>
void ManDocVisitor::visitChildren ( const T & t)
inlineprivate

Member Data Documentation

◆ m_ci

OutputCodeList& ManDocVisitor::m_ci
private

Definition at line 127 of file mandocvisitor.h.

Referenced by ManDocVisitor(), operator()(), operator()(), and operator()().

◆ m_firstCol

◆ m_hide

◆ m_indent

int ManDocVisitor::m_indent
private

◆ m_insidePre

bool ManDocVisitor::m_insidePre
private

Definition at line 128 of file mandocvisitor.h.

Referenced by ManDocVisitor(), operator()(), and operator()().

◆ m_langExt

QCString ManDocVisitor::m_langExt
private

Definition at line 132 of file mandocvisitor.h.

Referenced by ManDocVisitor(), operator()(), and operator()().

◆ m_listItemInfo

std::array<ManListItemInfo,maxIndentLevels> ManDocVisitor::m_listItemInfo
private

Definition at line 141 of file mandocvisitor.h.

Referenced by operator()(), and operator()().

◆ m_t

◆ maxIndentLevels

const int ManDocVisitor::maxIndentLevels = 13
staticprivate

Definition at line 139 of file mandocvisitor.h.

Referenced by operator()(), and operator()().


The documentation for this class was generated from the following files: