Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /******************************************************************************␊ |
2 | *␊ |
3 | * $Id: $␊ |
4 | *␊ |
5 | *␊ |
6 | * Copyright (C) 1997-2011 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 _DOCVISITOR_H␊ |
20 | #define _DOCVISITOR_H␊ |
21 | ␊ |
22 | // ids␊ |
23 | const int DocVisitor_Html = 0;␊ |
24 | const int DocVisitor_Latex = 1;␊ |
25 | const int DocVisitor_XML = 2;␊ |
26 | const int DocVisitor_RTF = 3;␊ |
27 | const int DocVisitor_Man = 4;␊ |
28 | const int DocVisitor_Text = 5;␊ |
29 | const int DocVisitor_Other = 6;␊ |
30 | ␊ |
31 | // forward declarations␊ |
32 | class DocWord;␊ |
33 | class DocWhiteSpace;␊ |
34 | class DocAutoList;␊ |
35 | class DocAutoListItem;␊ |
36 | class DocPara;␊ |
37 | class DocRoot;␊ |
38 | class DocSymbol;␊ |
39 | class DocURL;␊ |
40 | class DocStyleChange;␊ |
41 | class DocSimpleSect;␊ |
42 | class DocTitle;␊ |
43 | class DocSimpleList;␊ |
44 | class DocSimpleListItem;␊ |
45 | class DocSection;␊ |
46 | class DocVerbatim;␊ |
47 | class DocXRefItem;␊ |
48 | class DocHtmlList;␊ |
49 | class DocHtmlListItem;␊ |
50 | class DocHtmlDescList;␊ |
51 | class DocHtmlDescTitle;␊ |
52 | class DocHtmlDescData;␊ |
53 | class DocHtmlTable;␊ |
54 | class DocHtmlRow;␊ |
55 | class DocHtmlCell;␊ |
56 | class DocHtmlCaption;␊ |
57 | class DocLineBreak;␊ |
58 | class DocHorRuler;␊ |
59 | class DocAnchor;␊ |
60 | class DocIndexEntry;␊ |
61 | class DocInternal;␊ |
62 | class DocHRef;␊ |
63 | class DocInclude;␊ |
64 | class DocIncOperator;␊ |
65 | class DocHtmlHeader;␊ |
66 | class DocImage;␊ |
67 | class DocDotFile;␊ |
68 | class DocMscFile;␊ |
69 | class DocLink;␊ |
70 | class DocRef;␊ |
71 | class DocFormula;␊ |
72 | class DocSecRefItem;␊ |
73 | class DocSecRefList;␊ |
74 | //class DocLanguage;␊ |
75 | class DocLinkedWord;␊ |
76 | class DocParamSect;␊ |
77 | class DocParamList;␊ |
78 | class DocInternalRef;␊ |
79 | class DocCopy;␊ |
80 | class DocText;␊ |
81 | class DocSimpleSectSep;␊ |
82 | ␊ |
83 | /*! @brief Abstract visitor that participates in the visitor pattern.␊ |
84 | */␊ |
85 | class DocVisitor␊ |
86 | {␊ |
87 | int m_id;␊ |
88 | public:␊ |
89 | DocVisitor(int id) : m_id(id) {}␊ |
90 | virtual ~DocVisitor() {}␊ |
91 | int id() const { return m_id; }␊ |
92 | ␊ |
93 | /*! @name Visitor functions for leaf nodes ␊ |
94 | * @{␊ |
95 | */␊ |
96 | virtual void visit(DocWord *) = 0;␊ |
97 | virtual void visit(DocWhiteSpace *) = 0;␊ |
98 | virtual void visit(DocSymbol *) = 0;␊ |
99 | virtual void visit(DocURL *) = 0;␊ |
100 | virtual void visit(DocStyleChange *) = 0;␊ |
101 | virtual void visit(DocVerbatim *) = 0;␊ |
102 | virtual void visit(DocLineBreak *) = 0;␊ |
103 | virtual void visit(DocHorRuler *) = 0;␊ |
104 | virtual void visit(DocAnchor *) = 0;␊ |
105 | virtual void visit(DocInclude *) = 0;␊ |
106 | virtual void visit(DocIncOperator *) = 0;␊ |
107 | virtual void visit(DocFormula *) = 0;␊ |
108 | virtual void visit(DocLinkedWord *) = 0;␊ |
109 | virtual void visit(DocIndexEntry *) = 0;␊ |
110 | virtual void visit(DocSimpleSectSep *) = 0;␊ |
111 | /*! @} */␊ |
112 | ␊ |
113 | /*! @name Visitor functions for internal nodes ␊ |
114 | * @{␊ |
115 | */␊ |
116 | virtual void visitPre(DocAutoList *) = 0;␊ |
117 | virtual void visitPost(DocAutoList *) = 0;␊ |
118 | virtual void visitPre(DocAutoListItem *) = 0;␊ |
119 | virtual void visitPost(DocAutoListItem *) = 0;␊ |
120 | virtual void visitPre(DocPara *) = 0;␊ |
121 | virtual void visitPost(DocPara *) = 0;␊ |
122 | virtual void visitPre(DocRoot *) = 0;␊ |
123 | virtual void visitPost(DocRoot *) = 0;␊ |
124 | virtual void visitPre(DocSimpleSect *) = 0;␊ |
125 | virtual void visitPost(DocSimpleSect *) = 0;␊ |
126 | virtual void visitPre(DocTitle *) = 0;␊ |
127 | virtual void visitPost(DocTitle *) = 0;␊ |
128 | virtual void visitPre(DocSimpleList *) = 0;␊ |
129 | virtual void visitPost(DocSimpleList *) = 0;␊ |
130 | virtual void visitPre(DocSimpleListItem *) = 0;␊ |
131 | virtual void visitPost(DocSimpleListItem *) = 0;␊ |
132 | virtual void visitPre(DocSection *) = 0;␊ |
133 | virtual void visitPost(DocSection *) = 0;␊ |
134 | virtual void visitPre(DocHtmlList *) = 0;␊ |
135 | virtual void visitPost(DocHtmlListItem *) = 0;␊ |
136 | virtual void visitPre(DocHtmlListItem *) = 0;␊ |
137 | virtual void visitPost(DocHtmlList *) = 0;␊ |
138 | virtual void visitPre(DocHtmlDescList *) = 0;␊ |
139 | virtual void visitPost(DocHtmlDescList *) = 0;␊ |
140 | virtual void visitPre(DocHtmlDescTitle *) = 0;␊ |
141 | virtual void visitPost(DocHtmlDescTitle *) = 0;␊ |
142 | virtual void visitPre(DocHtmlDescData *) = 0;␊ |
143 | virtual void visitPost(DocHtmlDescData *) = 0;␊ |
144 | virtual void visitPre(DocHtmlTable *) = 0;␊ |
145 | virtual void visitPost(DocHtmlRow *) = 0;␊ |
146 | virtual void visitPre(DocHtmlCell *) = 0;␊ |
147 | virtual void visitPost(DocHtmlCell *) = 0;␊ |
148 | virtual void visitPre(DocHtmlRow *) = 0;␊ |
149 | virtual void visitPost(DocHtmlTable *) = 0;␊ |
150 | virtual void visitPre(DocHtmlCaption *) = 0;␊ |
151 | virtual void visitPost(DocHtmlCaption *) = 0;␊ |
152 | virtual void visitPre(DocInternal *) = 0;␊ |
153 | virtual void visitPost(DocInternal *) = 0;␊ |
154 | virtual void visitPre(DocHRef *) = 0;␊ |
155 | virtual void visitPost(DocHRef *) = 0;␊ |
156 | virtual void visitPre(DocHtmlHeader *) = 0;␊ |
157 | virtual void visitPost(DocHtmlHeader *) = 0;␊ |
158 | virtual void visitPre(DocImage *) = 0;␊ |
159 | virtual void visitPost(DocImage *) = 0;␊ |
160 | virtual void visitPre(DocDotFile *) = 0;␊ |
161 | virtual void visitPost(DocDotFile *) = 0;␊ |
162 | virtual void visitPre(DocMscFile *) = 0;␊ |
163 | virtual void visitPost(DocMscFile *) = 0; ␊ |
164 | virtual void visitPre(DocLink *) = 0;␊ |
165 | virtual void visitPost(DocLink *) = 0;␊ |
166 | virtual void visitPre(DocRef *) = 0;␊ |
167 | virtual void visitPost(DocRef *) = 0;␊ |
168 | virtual void visitPre(DocSecRefItem *) = 0;␊ |
169 | virtual void visitPost(DocSecRefItem *) = 0;␊ |
170 | virtual void visitPre(DocSecRefList *) = 0;␊ |
171 | virtual void visitPost(DocSecRefList *) = 0;␊ |
172 | //virtual void visitPre(DocLanguage *) = 0;␊ |
173 | //virtual void visitPost(DocLanguage *) = 0;␊ |
174 | virtual void visitPre(DocParamSect *) = 0;␊ |
175 | virtual void visitPost(DocParamSect *) = 0;␊ |
176 | virtual void visitPre(DocParamList *) = 0;␊ |
177 | virtual void visitPost(DocParamList *) = 0;␊ |
178 | virtual void visitPre(DocXRefItem *) = 0;␊ |
179 | virtual void visitPost(DocXRefItem *) = 0;␊ |
180 | virtual void visitPre(DocInternalRef *) = 0;␊ |
181 | virtual void visitPost(DocInternalRef *) = 0;␊ |
182 | virtual void visitPre(DocCopy *) = 0;␊ |
183 | virtual void visitPost(DocCopy *) = 0;␊ |
184 | virtual void visitPre(DocText *) = 0;␊ |
185 | virtual void visitPost(DocText *) = 0;␊ |
186 | /*! @} */␊ |
187 | };␊ |
188 | ␊ |
189 | #endif␊ |
190 |