|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef _DOCVISITOR_H
|
|
Packit |
1c1d7e |
#define _DOCVISITOR_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// ids
|
|
Packit |
1c1d7e |
const int DocVisitor_Html = 0;
|
|
Packit |
1c1d7e |
const int DocVisitor_Latex = 1;
|
|
Packit |
1c1d7e |
const int DocVisitor_XML = 2;
|
|
Packit |
1c1d7e |
const int DocVisitor_RTF = 3;
|
|
Packit |
1c1d7e |
const int DocVisitor_Man = 4;
|
|
Packit |
1c1d7e |
const int DocVisitor_Text = 5;
|
|
Packit |
1c1d7e |
const int DocVisitor_Other = 6;
|
|
Packit |
1c1d7e |
const int DocVisitor_Docbook = 7;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// forward declarations
|
|
Packit |
1c1d7e |
class DocWord;
|
|
Packit |
1c1d7e |
class DocWhiteSpace;
|
|
Packit |
1c1d7e |
class DocAutoList;
|
|
Packit |
1c1d7e |
class DocAutoListItem;
|
|
Packit |
1c1d7e |
class DocPara;
|
|
Packit |
1c1d7e |
class DocRoot;
|
|
Packit |
1c1d7e |
class DocSymbol;
|
|
Packit |
1c1d7e |
class DocURL;
|
|
Packit |
1c1d7e |
class DocStyleChange;
|
|
Packit |
1c1d7e |
class DocSimpleSect;
|
|
Packit |
1c1d7e |
class DocTitle;
|
|
Packit |
1c1d7e |
class DocSimpleList;
|
|
Packit |
1c1d7e |
class DocSimpleListItem;
|
|
Packit |
1c1d7e |
class DocSection;
|
|
Packit |
1c1d7e |
class DocVerbatim;
|
|
Packit |
1c1d7e |
class DocXRefItem;
|
|
Packit |
1c1d7e |
class DocHtmlList;
|
|
Packit |
1c1d7e |
class DocHtmlListItem;
|
|
Packit |
1c1d7e |
class DocHtmlDescList;
|
|
Packit |
1c1d7e |
class DocHtmlDescTitle;
|
|
Packit |
1c1d7e |
class DocHtmlDescData;
|
|
Packit |
1c1d7e |
class DocHtmlTable;
|
|
Packit |
1c1d7e |
class DocHtmlRow;
|
|
Packit |
1c1d7e |
class DocHtmlCell;
|
|
Packit |
1c1d7e |
class DocHtmlCaption;
|
|
Packit |
1c1d7e |
class DocLineBreak;
|
|
Packit |
1c1d7e |
class DocHorRuler;
|
|
Packit |
1c1d7e |
class DocAnchor;
|
|
Packit |
1c1d7e |
class DocIndexEntry;
|
|
Packit |
1c1d7e |
class DocInternal;
|
|
Packit |
1c1d7e |
class DocHRef;
|
|
Packit |
1c1d7e |
class DocInclude;
|
|
Packit |
1c1d7e |
class DocIncOperator;
|
|
Packit |
1c1d7e |
class DocHtmlHeader;
|
|
Packit |
1c1d7e |
class DocImage;
|
|
Packit |
1c1d7e |
class DocDotFile;
|
|
Packit |
1c1d7e |
class DocMscFile;
|
|
Packit |
1c1d7e |
class DocDiaFile;
|
|
Packit |
1c1d7e |
class DocLink;
|
|
Packit |
1c1d7e |
class DocCite;
|
|
Packit |
1c1d7e |
class DocRef;
|
|
Packit |
1c1d7e |
class DocFormula;
|
|
Packit |
1c1d7e |
class DocSecRefItem;
|
|
Packit |
1c1d7e |
class DocSecRefList;
|
|
Packit |
1c1d7e |
class DocLinkedWord;
|
|
Packit |
1c1d7e |
class DocParamSect;
|
|
Packit |
1c1d7e |
class DocParamList;
|
|
Packit |
1c1d7e |
class DocInternalRef;
|
|
Packit |
1c1d7e |
class DocCopy; // TODO: no longer generated => remove
|
|
Packit |
1c1d7e |
class DocText;
|
|
Packit |
1c1d7e |
class DocSimpleSectSep;
|
|
Packit |
1c1d7e |
class DocHtmlBlockQuote;
|
|
Packit |
1c1d7e |
class DocVhdlFlow;
|
|
Packit |
1c1d7e |
class DocParBlock;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! @brief Abstract visitor that participates in the visitor pattern.
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
class DocVisitor
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
int m_id;
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
DocVisitor(int id) : m_id(id) {}
|
|
Packit |
1c1d7e |
virtual ~DocVisitor() {}
|
|
Packit |
1c1d7e |
int id() const { return m_id; }
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! @name Visitor functions for leaf nodes
|
|
Packit |
1c1d7e |
* @{
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
virtual void visit(DocWord *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocWhiteSpace *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocSymbol *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocURL *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocStyleChange *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocVerbatim *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocLineBreak *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocHorRuler *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocAnchor *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocInclude *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocIncOperator *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocFormula *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocLinkedWord *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocIndexEntry *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocSimpleSectSep *) = 0;
|
|
Packit |
1c1d7e |
virtual void visit(DocCite *) = 0;
|
|
Packit |
1c1d7e |
/*! @} */
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! @name Visitor functions for internal nodes
|
|
Packit |
1c1d7e |
* @{
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
virtual void visitPre(DocAutoList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocAutoList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocAutoListItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocAutoListItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocPara *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocPara *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocRoot *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocRoot *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocSimpleSect *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocSimpleSect *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocTitle *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocTitle *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocSimpleList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocSimpleList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocSimpleListItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocSimpleListItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocSection *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocSection *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlListItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlListItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlDescList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlDescList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlDescTitle *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlDescTitle *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlDescData *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlDescData *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlTable *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlRow *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlCell *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlCell *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlRow *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlTable *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlCaption *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlCaption *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocInternal *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocInternal *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHRef *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHRef *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlHeader *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlHeader *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocImage *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocImage *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocDotFile *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocDotFile *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocMscFile *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocMscFile *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocDiaFile *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocDiaFile *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocLink *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocLink *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocRef *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocRef *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocSecRefItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocSecRefItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocSecRefList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocSecRefList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocParamSect *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocParamSect *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocParamList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocParamList *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocXRefItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocXRefItem *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocInternalRef *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocInternalRef *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocCopy *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocCopy *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocText *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocText *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocHtmlBlockQuote *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocHtmlBlockQuote *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocVhdlFlow *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocVhdlFlow *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPre(DocParBlock *) = 0;
|
|
Packit |
1c1d7e |
virtual void visitPost(DocParBlock *) = 0;
|
|
Packit |
1c1d7e |
/*! @} */
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|