Doxygen
Loading...
Searching...
No Matches
mandocvisitor.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
*
4
*
5
*
6
* Copyright (C) 1997-2015 by Dimitri van Heesch.
7
*
8
* Permission to use, copy, modify, and distribute this software and its
9
* documentation under the terms of the GNU General Public License is hereby
10
* granted. No representations are made about the suitability of this software
11
* for any purpose. It is provided "as is" without express or implied warranty.
12
* See the GNU General Public License for more details.
13
*
14
* Documents produced by Doxygen are derivative works derived from the
15
* input used in their production; they are not affected by this license.
16
*
17
*/
18
19
#ifndef MANDOCVISITOR_H
20
#define MANDOCVISITOR_H
21
22
#include <iostream>
23
#include <array>
24
25
#include "
qcstring.h
"
26
#include "
docvisitor.h
"
27
#include "
docnode.h
"
28
29
class
OutputCodeList
;
30
class
TextStream
;
31
32
/*! @brief Concrete visitor implementation for LaTeX output. */
33
class
ManDocVisitor
:
public
DocVisitor
34
{
35
public
:
36
ManDocVisitor
(TextStream &t,OutputCodeList &ci,
const
QCString &langExt);
37
38
//--------------------------------------
39
// visitor functions for leaf nodes
40
//--------------------------------------
41
42
void
operator()
(
const
DocWord &);
43
void
operator()
(
const
DocLinkedWord &);
44
void
operator()
(
const
DocWhiteSpace &);
45
void
operator()
(
const
DocSymbol &);
46
void
operator()
(
const
DocEmoji &);
47
void
operator()
(
const
DocURL &);
48
void
operator()
(
const
DocLineBreak &);
49
void
operator()
(
const
DocHorRuler &);
50
void
operator()
(
const
DocStyleChange &);
51
void
operator()
(
const
DocVerbatim &);
52
void
operator()
(
const
DocAnchor &);
53
void
operator()
(
const
DocInclude &);
54
void
operator()
(
const
DocIncOperator &);
55
void
operator()
(
const
DocFormula &);
56
void
operator()
(
const
DocIndexEntry &);
57
void
operator()
(
const
DocSimpleSectSep &);
58
void
operator()
(
const
DocCite &);
59
void
operator()
(
const
DocSeparator &);
60
61
//--------------------------------------
62
// visitor functions for compound nodes
63
//--------------------------------------
64
65
void
operator()
(
const
DocAutoList &);
66
void
operator()
(
const
DocAutoListItem &);
67
void
operator()
(
const
DocPara &);
68
void
operator()
(
const
DocRoot &);
69
void
operator()
(
const
DocSimpleSect &);
70
void
operator()
(
const
DocTitle &);
71
void
operator()
(
const
DocSimpleList &);
72
void
operator()
(
const
DocSimpleListItem &);
73
void
operator()
(
const
DocSection &s);
74
void
operator()
(
const
DocHtmlList &s);
75
void
operator()
(
const
DocHtmlListItem &);
76
void
operator()
(
const
DocHtmlDescList &);
77
void
operator()
(
const
DocHtmlDescTitle &);
78
void
operator()
(
const
DocHtmlDescData &);
79
void
operator()
(
const
DocHtmlTable &t);
80
void
operator()
(
const
DocHtmlCaption &);
81
void
operator()
(
const
DocHtmlRow &);
82
void
operator()
(
const
DocHtmlCell &);
83
void
operator()
(
const
DocInternal &);
84
void
operator()
(
const
DocHRef &);
85
void
operator()
(
const
DocHtmlSummary &);
86
void
operator()
(
const
DocHtmlDetails &);
87
void
operator()
(
const
DocHtmlHeader &);
88
void
operator()
(
const
DocImage &);
89
void
operator()
(
const
DocDotFile &);
90
void
operator()
(
const
DocMscFile &);
91
void
operator()
(
const
DocDiaFile &);
92
void
operator()
(
const
DocPlantUmlFile &);
93
void
operator()
(
const
DocLink &lnk);
94
void
operator()
(
const
DocRef &ref);
95
void
operator()
(
const
DocSecRefItem &);
96
void
operator()
(
const
DocSecRefList &);
97
void
operator()
(
const
DocParamSect &);
98
void
operator()
(
const
DocParamList &);
99
void
operator()
(
const
DocXRefItem &);
100
void
operator()
(
const
DocInternalRef &);
101
void
operator()
(
const
DocText &);
102
void
operator()
(
const
DocHtmlBlockQuote &);
103
void
operator()
(
const
DocVhdlFlow &);
104
void
operator()
(
const
DocParBlock &);
105
106
private
:
107
template
<
class
T>
108
void
visitChildren
(
const
T &t)
109
{
110
for
(
const
auto
&child : t.children())
111
{
112
std::visit(*
this
, child);
113
}
114
}
115
116
//--------------------------------------
117
// helper functions
118
//--------------------------------------
119
120
void
filter
(
const
QCString &str);
121
122
//--------------------------------------
123
// state variables
124
//--------------------------------------
125
126
TextStream &
m_t
;
127
OutputCodeList &
m_ci
;
128
bool
m_insidePre
;
129
bool
m_hide
;
130
bool
m_firstCol
;
131
int
m_indent
;
132
QCString
m_langExt
;
133
134
struct
ManListItemInfo
135
{
136
int
number
;
137
char
type
;
138
};
139
static
const
int
maxIndentLevels
= 13;
140
141
std::array<ManListItemInfo,maxIndentLevels>
m_listItemInfo
;
142
};
143
144
#endif
DocVisitor::DocVisitor
DocVisitor()
Definition
docvisitor.cpp:32
ManDocVisitor::m_indent
int m_indent
Definition
mandocvisitor.h:131
ManDocVisitor::m_hide
bool m_hide
Definition
mandocvisitor.h:129
ManDocVisitor::m_listItemInfo
std::array< ManListItemInfo, maxIndentLevels > m_listItemInfo
Definition
mandocvisitor.h:141
ManDocVisitor::filter
void filter(const QCString &str)
Definition
mandocvisitor.cpp:987
ManDocVisitor::m_t
TextStream & m_t
Definition
mandocvisitor.h:126
ManDocVisitor::operator()
void operator()(const DocWord &)
Definition
mandocvisitor.cpp:43
ManDocVisitor::m_firstCol
bool m_firstCol
Definition
mandocvisitor.h:130
ManDocVisitor::m_insidePre
bool m_insidePre
Definition
mandocvisitor.h:128
ManDocVisitor::m_ci
OutputCodeList & m_ci
Definition
mandocvisitor.h:127
ManDocVisitor::m_langExt
QCString m_langExt
Definition
mandocvisitor.h:132
ManDocVisitor::maxIndentLevels
static const int maxIndentLevels
Definition
mandocvisitor.h:139
ManDocVisitor::visitChildren
void visitChildren(const T &t)
Definition
mandocvisitor.h:108
ManDocVisitor::ManDocVisitor
ManDocVisitor(TextStream &t, OutputCodeList &ci, const QCString &langExt)
Definition
mandocvisitor.cpp:32
OutputCodeList
Class representing a list of different code generators.
Definition
outputlist.h:164
TextStream
Text streaming class that buffers data.
Definition
textstream.h:36
docnode.h
docvisitor.h
qcstring.h
ManDocVisitor::ManListItemInfo
Definition
mandocvisitor.h:135
ManDocVisitor::ManListItemInfo::type
char type
Definition
mandocvisitor.h:137
ManDocVisitor::ManListItemInfo::number
int number
Definition
mandocvisitor.h:136
src
mandocvisitor.h
Generated by
1.13.0