Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/src/docvisitor.h

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
23const int DocVisitor_Html = 0;
24const int DocVisitor_Latex = 1;
25const int DocVisitor_XML = 2;
26const int DocVisitor_RTF = 3;
27const int DocVisitor_Man = 4;
28const int DocVisitor_Text = 5;
29const int DocVisitor_Other = 6;
30
31// forward declarations
32class DocWord;
33class DocWhiteSpace;
34class DocAutoList;
35class DocAutoListItem;
36class DocPara;
37class DocRoot;
38class DocSymbol;
39class DocURL;
40class DocStyleChange;
41class DocSimpleSect;
42class DocTitle;
43class DocSimpleList;
44class DocSimpleListItem;
45class DocSection;
46class DocVerbatim;
47class DocXRefItem;
48class DocHtmlList;
49class DocHtmlListItem;
50class DocHtmlDescList;
51class DocHtmlDescTitle;
52class DocHtmlDescData;
53class DocHtmlTable;
54class DocHtmlRow;
55class DocHtmlCell;
56class DocHtmlCaption;
57class DocLineBreak;
58class DocHorRuler;
59class DocAnchor;
60class DocIndexEntry;
61class DocInternal;
62class DocHRef;
63class DocInclude;
64class DocIncOperator;
65class DocHtmlHeader;
66class DocImage;
67class DocDotFile;
68class DocMscFile;
69class DocLink;
70class DocRef;
71class DocFormula;
72class DocSecRefItem;
73class DocSecRefList;
74//class DocLanguage;
75class DocLinkedWord;
76class DocParamSect;
77class DocParamList;
78class DocInternalRef;
79class DocCopy;
80class DocText;
81class DocSimpleSectSep;
82
83/*! @brief Abstract visitor that participates in the visitor pattern.
84 */
85class 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

Archive Download this file

Revision: 1322