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 DocMermaidFile &)
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 33 of file mandocvisitor.cpp.

36 m_indent(0), m_langExt(langExt)
37{
38}
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 994 of file mandocvisitor.cpp.

995{
996 if (!str.isEmpty())
997 {
998 const char *p=str.data();
999 char c=0;
1000 bool insideDoubleQuote = false;
1001 while ((c=*p++))
1002 {
1003 switch(c)
1004 {
1005 case '.': m_t << "\\&."; break; // see bug652277
1006 case '\\': m_t << "\\\\"; break;
1007 case '\"': m_t << "\""; insideDoubleQuote = !insideDoubleQuote; break;
1008 case '\n': if (retainNewline || !insideDoubleQuote) m_t << c; break;
1009 default: m_t << c; break;
1010 }
1011 }
1012 }
1013}
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
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:172

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

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

◆ operator()() [1/59]

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

Definition at line 256 of file mandocvisitor.cpp.

257{
258 /* no support for anchors in man pages */
259}

◆ operator()() [2/59]

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

Definition at line 449 of file mandocvisitor.cpp.

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

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

◆ operator()() [3/59]

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

Definition at line 458 of file mandocvisitor.cpp.

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

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

Definition at line 418 of file mandocvisitor.cpp.

419{
420 if (m_hide) return;
421 m_t << "\\fB";
422 auto opt = cite.option();
423 QCString txt;
424 if (!cite.file().isEmpty())
425 {
426 txt = cite.getText();
427 }
428 else
429 {
430 if (!opt.noPar()) txt += "[";
431 txt += cite.target();
432 if (!opt.noPar()) txt += "]";
433 }
434 filter(txt);
435 m_t << "\\fP";
436}
QCString getText() const
Definition docnode.cpp:974
CiteInfoOption option() const
Definition docnode.h:253
QCString target() const
Definition docnode.h:252
QCString file() const
Definition docnode.h:248
void filter(const QCString &str, const bool retainNewline=false)

References DocCite::file(), filter(), DocCite::getText(), QCString::isEmpty(), m_hide, m_t, DocCite::option(), and DocCite::target().

◆ operator()() [5/59]

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

Definition at line 830 of file mandocvisitor.cpp.

831{
832}

◆ operator()() [6/59]

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

Definition at line 822 of file mandocvisitor.cpp.

823{
824}

◆ operator()() [7/59]

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

Definition at line 91 of file mandocvisitor.cpp.

92{
93 if (m_hide) return;
94 const char *res = EmojiEntityMapper::instance().name(s.index());
95 if (res)
96 {
97 m_t << res;
98 }
99 else
100 {
101 m_t << s.name();
102 }
104}
int index() const
Definition docnode.h:345
QCString name() const
Definition docnode.h:344
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/59]

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

Definition at line 404 of file mandocvisitor.cpp.

405{
406 if (m_hide) return;
407 m_t << f.text();
408}
QCString text() const
Definition docnode.h:533

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

◆ operator()() [9/59]

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

Definition at line 120 of file mandocvisitor.cpp.

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

References m_firstCol, m_hide, m_t, and TRUE.

◆ operator()() [10/59]

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

Definition at line 766 of file mandocvisitor.cpp.

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

References m_hide, m_t, and visitChildren().

◆ operator()() [11/59]

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

Definition at line 969 of file mandocvisitor.cpp.

970{
971 if (m_hide) return;
972 if (!m_firstCol)
973 {
974 m_t << "\n";
975 m_t << ".PP\n";
976 }
977 m_t << ".RS 4\n"; // TODO: add support for nested block quotes
978 visitChildren(q);
979 if (!m_firstCol) m_t << "\n";
980 m_t << ".RE\n";
981 m_t << ".PP\n";
983}

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

◆ operator()() [12/59]

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

Definition at line 746 of file mandocvisitor.cpp.

747{
748 visitChildren(c);
749}

References visitChildren().

◆ operator()() [13/59]

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

Definition at line 756 of file mandocvisitor.cpp.

757{
758 visitChildren(c);
759}

References visitChildren().

◆ operator()() [14/59]

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

Definition at line 733 of file mandocvisitor.cpp.

734{
735 if (!m_firstCol) m_t << "\n";
736 m_t << ".IP \"\" 1c\n";
738 visitChildren(dd);
739}

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

◆ operator()() [15/59]

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

Definition at line 712 of file mandocvisitor.cpp.

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

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

◆ operator()() [16/59]

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

Definition at line 723 of file mandocvisitor.cpp.

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

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

◆ operator()() [17/59]

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

Definition at line 781 of file mandocvisitor.cpp.

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

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

◆ operator()() [18/59]

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

Definition at line 806 of file mandocvisitor.cpp.

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

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

◆ operator()() [19/59]

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

Definition at line 628 of file mandocvisitor.cpp.

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

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

Definition at line 657 of file mandocvisitor.cpp.

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

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/59]

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

Definition at line 751 of file mandocvisitor.cpp.

752{
753 visitChildren(r);
754}

References visitChildren().

◆ operator()() [22/59]

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

Definition at line 774 of file mandocvisitor.cpp.

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

References m_t, and visitChildren().

◆ operator()() [23/59]

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

Definition at line 741 of file mandocvisitor.cpp.

742{
743 visitChildren(t);
744}

References visitChildren().

◆ operator()() [24/59]

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

Definition at line 818 of file mandocvisitor.cpp.

819{
820}

◆ operator()() [25/59]

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

Definition at line 261 of file mandocvisitor.cpp.

262{
263 if (m_hide) return;
265 switch(inc.type())
266 {
268 {
269 if (!m_firstCol) m_t << "\n";
270 m_t << ".PP\n";
271 m_t << ".nf\n";
272 FileInfo cfi( inc.file().str() );
273 auto fd = createFileDef( cfi.dirPath(), cfi.fileName() );
275 inc.text(),
276 langExt,
277 inc.stripCodeComments(),
278 CodeParserOptions()
279 .setExample(inc.isExample(),inc.exampleFile())
280 .setFileDef(fd.get())
281 .setInlineFragment(true)
282 );
283 m_t << ".fi\n";
284 m_t << ".PP\n";
286 }
287 break;
289 if (!m_firstCol) m_t << "\n";
290 m_t << ".PP\n";
291 m_t << ".nf\n";
293 inc.text(),
294 langExt,
295 inc.stripCodeComments(),
296 CodeParserOptions()
297 .setExample(inc.isExample(),inc.exampleFile())
298 .setInlineFragment(true)
299 .setShowLineNumbers(false)
300 );
301 m_t << ".fi\n";
302 m_t << ".PP\n";
304 break;
312 break;
314 m_t << inc.text();
315 break;
317 if (!m_firstCol) m_t << "\n";
318 m_t << ".PP\n";
319 m_t << ".nf\n";
320 m_t << inc.text();
321 if (!m_firstCol) m_t << "\n";
322 m_t << ".fi\n";
323 m_t << ".PP\n";
325 break;
328 if (!m_firstCol) m_t << "\n";
329 m_t << ".PP\n";
330 m_t << ".nf\n";
332 inc.file(),
333 inc.blockId(),
334 inc.context(),
336 inc.trimLeft(),
338 );
339 m_t << ".fi\n";
340 m_t << ".PP\n";
342 break;
343 }
344}
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, const CodeParserOptions &options)=0
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
QCString blockId() const
Definition docnode.h:454
QCString extension() const
Definition docnode.h:450
bool stripCodeComments() const
Definition docnode.h:455
@ LatexInclude
Definition docnode.h:437
@ SnippetWithLines
Definition docnode.h:438
@ DontIncWithLines
Definition docnode.h:439
@ IncWithLines
Definition docnode.h:438
@ HtmlInclude
Definition docnode.h:437
@ VerbInclude
Definition docnode.h:437
@ DontInclude
Definition docnode.h:437
@ DocbookInclude
Definition docnode.h:439
Type type() const
Definition docnode.h:451
QCString exampleFile() const
Definition docnode.h:457
QCString text() const
Definition docnode.h:452
QCString file() const
Definition docnode.h:449
bool trimLeft() const
Definition docnode.h:459
bool isExample() const
Definition docnode.h:456
QCString context() const
Definition docnode.h:453
CodeParserInterface & getCodeParser(const QCString &langExt)
const std::string & str() const
Definition qcstring.h:552
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:5221

References DocInclude::blockId(), DocInclude::context(), createFileDef(), FileInfo::dirPath(), DocInclude::DocbookInclude, DocInclude::DontInclude, DocInclude::DontIncWithLines, DocInclude::exampleFile(), DocInclude::extension(), 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, CodeParserOptions::setFileDef(), CodeParserOptions::setInlineFragment(), CodeParserOptions::setShowLineNumbers(), DocInclude::Snippet, DocInclude::SnippetWithLines, QCString::str(), DocInclude::stripCodeComments(), DocInclude::text(), DocInclude::trimLeft(), TRUE, DocInclude::type(), DocInclude::VerbInclude, and DocInclude::XmlInclude.

◆ operator()() [26/59]

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

Definition at line 346 of file mandocvisitor.cpp.

347{
348 QCString locLangExt = getFileNameExtension(op.includeFileName());
349 if (locLangExt.isEmpty()) locLangExt = m_langExt;
350 SrcLangExt langExt = getLanguageFromFileName(locLangExt);
351 //printf("DocIncOperator: type=%d first=%d, last=%d text='%s'\n",
352 // op.type(),op.isFirst(),op.isLast(),qPrint(op.text()));
353 if (op.isFirst())
354 {
355 if (!m_hide)
356 {
357 if (!m_firstCol) m_t << "\n";
358 m_t << ".PP\n";
359 m_t << ".nf\n";
360 }
362 m_hide = TRUE;
363 }
364 if (op.type()!=DocIncOperator::Skip)
365 {
366 m_hide = popHidden();
367 if (!m_hide)
368 {
369 std::unique_ptr<FileDef> fd;
370 if (!op.includeFileName().isEmpty())
371 {
372 FileInfo cfi( op.includeFileName().str() );
373 fd = createFileDef( cfi.dirPath(), cfi.fileName() );
374 }
375
376 getCodeParser(locLangExt).parseCode(m_ci,op.context(),op.text(),langExt,
378 CodeParserOptions()
379 .setExample(op.isExample(),op.exampleFile())
380 .setFileDef(fd.get())
381 .setShowLineNumbers(op.showLineNo())
382 );
383 }
385 m_hide=TRUE;
386 }
387 if (op.isLast())
388 {
389 m_hide = popHidden();
390 if (!m_hide)
391 {
392 if (!m_firstCol) m_t << "\n";
393 m_t << ".fi\n";
394 m_t << ".PP\n";
396 }
397 }
398 else
399 {
400 if (!m_hide) m_t << "\n";
401 }
402}
bool stripCodeComments() const
Definition docnode.h:506
bool isLast() const
Definition docnode.h:503
QCString includeFileName() const
Definition docnode.h:509
QCString text() const
Definition docnode.h:499
QCString context() const
Definition docnode.h:501
QCString exampleFile() const
Definition docnode.h:508
Type type() const
Definition docnode.h:485
bool isFirst() const
Definition docnode.h:502
bool showLineNo() const
Definition docnode.h:498
bool isExample() const
Definition docnode.h:507
void pushHidden(bool hide)
bool popHidden()
QCString getFileNameExtension(const QCString &fn)
Definition util.cpp:5263

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

◆ operator()() [27/59]

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

Definition at line 410 of file mandocvisitor.cpp.

411{
412}

◆ operator()() [28/59]

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

Definition at line 761 of file mandocvisitor.cpp.

762{
763 visitChildren(i);
764}

References visitChildren().

◆ operator()() [29/59]

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

Definition at line 956 of file mandocvisitor.cpp.

957{
958 if (m_hide) return;
959 m_t << "\\fB";
960 visitChildren(ref);
961 m_t << "\\fP";
962}

References m_hide, m_t, and visitChildren().

◆ operator()() [30/59]

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

Definition at line 113 of file mandocvisitor.cpp.

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

References m_firstCol, m_hide, m_t, and TRUE.

◆ operator()() [31/59]

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

Definition at line 842 of file mandocvisitor.cpp.

843{
844 if (m_hide) return;
845 m_t << "\\fB";
846 visitChildren(dl);
847 m_t << "\\fP";
848}

References m_hide, m_t, and visitChildren().

◆ operator()() [32/59]

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

Definition at line 51 of file mandocvisitor.cpp.

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

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

◆ operator()() [33/59]

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

Definition at line 838 of file mandocvisitor.cpp.

839{
840}

◆ operator()() [34/59]

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

Definition at line 826 of file mandocvisitor.cpp.

827{
828}

◆ operator()() [35/59]

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

Definition at line 495 of file mandocvisitor.cpp.

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

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

◆ operator()() [36/59]

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

Definition at line 913 of file mandocvisitor.cpp.

914{
915 if (m_hide) return;
916 m_t << "\\fI";
917 bool first=TRUE;
918 for (const auto &param : pl.parameters())
919 {
920 if (!first) m_t << ","; else first=FALSE;
921 std::visit(*this,param);
922 }
923 m_t << "\\fP ";
924 for (const auto &par : pl.paragraphs())
925 {
926 std::visit(*this,par);
927 }
928 if (!pl.isLast())
929 {
930 if (!m_firstCol) m_t << "\n";
931 m_t << ".br\n";
932 }
933}
const DocNodeList & parameters() const
Definition docnode.h:1135
bool isLast() const
Definition docnode.h:1143
const DocNodeList & paragraphs() const
Definition docnode.h:1137

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

◆ operator()() [37/59]

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

Definition at line 882 of file mandocvisitor.cpp.

883{
884 if (m_hide) return;
885 if (!m_firstCol)
886 {
887 m_t << "\n";
888 m_t << ".PP\n";
889 }
890 m_t << "\\fB";
891 switch(s.type())
892 {
894 m_t << theTranslator->trParameters(); break;
896 m_t << theTranslator->trReturnValues(); break;
898 m_t << theTranslator->trExceptions(); break;
901 default:
902 ASSERT(0);
903 }
904 m_t << "\\fP\n";
905 m_t << ".RS 4\n";
906 visitChildren(s);
907 if (!m_firstCol) m_t << "\n";
908 m_t << ".RE\n";
909 m_t << ".PP\n";
911}
Type type() const
Definition docnode.h:1077
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()() [38/59]

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

Definition at line 989 of file mandocvisitor.cpp.

990{
991 visitChildren(pb);
992}

References visitChildren().

◆ operator()() [39/59]

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

Definition at line 834 of file mandocvisitor.cpp.

835{
836}

◆ operator()() [40/59]

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

Definition at line 850 of file mandocvisitor.cpp.

851{
852 if (m_hide) return;
853 m_t << "\\fB";
854 if (!ref.hasLinkText()) filter(ref.targetTitle());
855 visitChildren(ref);
856 m_t << "\\fP";
857}
QCString targetTitle() const
Definition docnode.h:795
bool hasLinkText() const
Definition docnode.h:797

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

◆ operator()() [41/59]

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

Definition at line 511 of file mandocvisitor.cpp.

512{
513 visitChildren(r);
514}

References visitChildren().

◆ operator()() [42/59]

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

Definition at line 859 of file mandocvisitor.cpp.

860{
861 if (m_hide) return;
862 QCString ws;
863 if (m_indent>0) ws.fill(' ',2*(m_indent-1));
864 if (!m_firstCol) m_t << "\n";
865 m_t << ".IP \"" << ws << "\\(bu\" " << (2*m_indent) << "\n";
867 visitChildren(ref);
868 m_t << "\n";
870}

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

◆ operator()() [43/59]

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

Definition at line 872 of file mandocvisitor.cpp.

873{
874 if (m_hide) return;
875 m_indent++;
876 visitChildren(l);
877 m_indent--;
878 if (!m_firstCol) m_t << "\n";
879 m_t << ".PP\n";
880}

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

◆ operator()() [44/59]

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

Definition at line 612 of file mandocvisitor.cpp.

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

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

◆ operator()() [45/59]

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

Definition at line 438 of file mandocvisitor.cpp.

439{
440 if (m_hide) return;
441 m_t << s.chars();
442}
QCString chars() const
Definition docnode.h:369

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

◆ operator()() [46/59]

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

Definition at line 584 of file mandocvisitor.cpp.

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

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

◆ operator()() [47/59]

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

Definition at line 596 of file mandocvisitor.cpp.

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

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

◆ operator()() [48/59]

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

Definition at line 516 of file mandocvisitor.cpp.

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

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

Definition at line 414 of file mandocvisitor.cpp.

415{
416}

◆ operator()() [50/59]

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

Definition at line 128 of file mandocvisitor.cpp.

129{
130 if (m_hide) return;
131 switch (s.style())
132 {
134 if (s.enable()) m_t << "\\fB"; else m_t << "\\fP";
136 break;
140 /* not supported */
141 break;
142 case DocStyleChange::Underline: //underline is shown as emphasis
144 if (s.enable()) m_t << "\\fI"; else m_t << "\\fP";
146 break;
148 if (s.enable()) m_t << "\\fI"; else m_t << "\\fP";
150 break;
154 if (s.enable()) m_t << "\\fR"; else m_t << "\\fP";
156 break;
158 if (s.enable()) m_t << "\\*<"; else m_t << "\\*> ";
160 break;
162 if (s.enable()) m_t << "\\*{"; else m_t << "\\*} ";
164 break;
166 /* not supported */
167 break;
169 /* not supported */
170 break;
172 /* not supported */
173 break;
175 if (s.enable())
176 {
177 if (!m_firstCol) m_t << "\n";
178 m_t << ".PP\n";
179 m_t << ".nf\n";
181 }
182 else
183 {
185 if (!m_firstCol) m_t << "\n";
186 m_t << ".fi\n";
187 m_t << ".PP\n";
189 }
190 break;
191 case DocStyleChange::Div: /* HTML only */ break;
192 case DocStyleChange::Span: /* HTML only */ break;
193 }
194}
Style style() const
Definition docnode.h:307
bool enable() const
Definition docnode.h:309

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()() [51/59]

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

Definition at line 75 of file mandocvisitor.cpp.

76{
77 if (m_hide) return;
78 const char *res = HtmlEntityMapper::instance().man(s.symbol());
79 if (res)
80 {
81 m_t << res;
82 }
83 else
84 {
85 // no error or warning to be supplied
86 // err("man: non supported HTML-entity found: &{};\n",get_symbol_item(s->symbol()));
87 }
89}
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:332
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()() [52/59]

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

Definition at line 964 of file mandocvisitor.cpp.

965{
966 visitChildren(t);
967}

References visitChildren().

◆ operator()() [53/59]

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

Definition at line 578 of file mandocvisitor.cpp.

579{
580 if (m_hide) return;
581 visitChildren(t);
582}

References m_hide, and visitChildren().

◆ operator()() [54/59]

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

Definition at line 106 of file mandocvisitor.cpp.

107{
108 if (m_hide) return;
109 m_t << u.url();
111}
QCString url() const
Definition docnode.h:192

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

◆ operator()() [55/59]

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

Definition at line 196 of file mandocvisitor.cpp.

197{
198 if (m_hide) return;
199 QCString lang = m_langExt;
200 if (!s.language().isEmpty()) // explicit language setting
201 {
202 lang = s.language();
203 }
204 SrcLangExt langExt = getLanguageFromCodeLang(lang);
205 switch (s.type())
206 {
208 if (!m_firstCol) m_t << "\n";
209 m_t << ".PP\n";
210 m_t << ".nf\n";
212 langExt,
213 Config_getBool(STRIP_CODE_COMMENTS),
214 CodeParserOptions().setExample(s.isExample(),s.exampleFile())
215 );
216 if (!m_firstCol) m_t << "\n";
217 m_t << ".fi\n";
218 m_t << ".PP\n";
220 break;
222 filter(s.text(),true);
223 break;
225 m_t << "\\fR\n";
226 filter(s.text(),true);
227 m_t << "\\fP\n";
228 break;
230 if (!m_firstCol) m_t << "\n";
231 m_t << ".PP\n";
232 m_t << ".nf\n";
233 filter(s.text(),true);
234 if (!m_firstCol) m_t << "\n";
235 m_t << ".fi\n";
236 m_t << ".PP\n";
238 break;
240 m_t << s.text();
241 break;
247 case DocVerbatim::Dot:
248 case DocVerbatim::Msc:
251 /* nothing */
252 break;
253 }
254}
QCString language() const
Definition docnode.h:388
bool isExample() const
Definition docnode.h:385
QCString context() const
Definition docnode.h:384
Type type() const
Definition docnode.h:382
QCString text() const
Definition docnode.h:383
QCString exampleFile() const
Definition docnode.h:386
@ JavaDocLiteral
Definition docnode.h:378
#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:5239

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::Mermaid, DocVerbatim::Msc, CodeParserInterface::parseCode(), DocVerbatim::PlantUML, DocVerbatim::RtfOnly, DocVerbatim::text(), TRUE, DocVerbatim::type(), DocVerbatim::Verbatim, and DocVerbatim::XmlOnly.

◆ operator()() [56/59]

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

Definition at line 985 of file mandocvisitor.cpp.

986{
987}

◆ operator()() [57/59]

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

Definition at line 60 of file mandocvisitor.cpp.

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

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

◆ operator()() [58/59]

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

Definition at line 44 of file mandocvisitor.cpp.

45{
46 if (m_hide) return;
47 filter(w.word());
49}
QCString word() const
Definition docnode.h:156

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

◆ operator()() [59/59]

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

Definition at line 935 of file mandocvisitor.cpp.

936{
937 if (m_hide) return;
938 if (x.title().isEmpty()) return;
939 if (!m_firstCol)
940 {
941 m_t << "\n";
942 m_t << ".PP\n";
943 }
944 m_t << "\\fB";
945 filter(x.title());
946 m_t << "\\fP\n";
947 m_t << ".RS 4\n";
948 visitChildren(x);
949 if (x.title().isEmpty()) return;
950 if (!m_firstCol) m_t << "\n";
951 m_t << ".RE\n";
952 m_t << ".PP\n";
954}
QCString title() const
Definition docnode.h:626

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 128 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 129 of file mandocvisitor.h.

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

◆ m_langExt

QCString ManDocVisitor::m_langExt
private

Definition at line 133 of file mandocvisitor.h.

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

◆ m_listItemInfo

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

Definition at line 142 of file mandocvisitor.h.

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

◆ m_t

◆ maxIndentLevels

const int ManDocVisitor::maxIndentLevels = 13
staticprivate

Definition at line 140 of file mandocvisitor.h.

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


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