summaryrefslogtreecommitdiffstats
path: root/src/docvisitor.h
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-09-27 18:26:20 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-09-27 18:26:20 (GMT)
commitcfdabb54c5bcea38629eb0ec8f207d1306ff0939 (patch)
treecb323c258fe80e0e2422f939d40af66eefdd055e /src/docvisitor.h
parent55e15c86717f38c9b510e4287cb0b4f165b8cb10 (diff)
downloadDoxygen-cfdabb54c5bcea38629eb0ec8f207d1306ff0939.zip
Doxygen-cfdabb54c5bcea38629eb0ec8f207d1306ff0939.tar.gz
Doxygen-cfdabb54c5bcea38629eb0ec8f207d1306ff0939.tar.bz2
Refactoring: prepare output generators for multi-threaded use
Diffstat (limited to 'src/docvisitor.h')
-rw-r--r--src/docvisitor.h28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/docvisitor.h b/src/docvisitor.h
index 0a53595..105b97c 100644
--- a/src/docvisitor.h
+++ b/src/docvisitor.h
@@ -1,13 +1,10 @@
/******************************************************************************
*
- *
- *
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
+ * Copyright (C) 1997-2020 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
@@ -19,6 +16,8 @@
#ifndef _DOCVISITOR_H
#define _DOCVISITOR_H
+#include <memory>
+
// ids
const int DocVisitor_Html = 0;
const int DocVisitor_Latex = 1;
@@ -84,18 +83,21 @@ class DocSimpleSectSep;
class DocHtmlBlockQuote;
class DocVhdlFlow;
class DocParBlock;
+class CodeParserInterface;
/*! @brief Abstract visitor that participates in the visitor pattern.
*/
class DocVisitor
{
- int m_id;
+ struct Private;
+ std::unique_ptr<Private> p;
public:
- DocVisitor(int id) : m_id(id) {}
- virtual ~DocVisitor() {}
- int id() const { return m_id; }
+ DocVisitor(int id);
+ virtual ~DocVisitor();
+ int id() const;
+ CodeParserInterface &getCodeParser(const char *langExt);
- /*! @name Visitor functions for leaf nodes
+ /*! @name Visitor functions for leaf nodes
* @{
*/
virtual void visit(DocWord *) = 0;
@@ -117,7 +119,7 @@ class DocVisitor
virtual void visit(DocCite *) = 0;
/*! @} */
- /*! @name Visitor functions for internal nodes
+ /*! @name Visitor functions for internal nodes
* @{
*/
virtual void visitPre(DocAutoList *) = 0;
@@ -167,7 +169,7 @@ class DocVisitor
virtual void visitPre(DocDotFile *) = 0;
virtual void visitPost(DocDotFile *) = 0;
virtual void visitPre(DocMscFile *) = 0;
- virtual void visitPost(DocMscFile *) = 0;
+ virtual void visitPost(DocMscFile *) = 0;
virtual void visitPre(DocDiaFile *) = 0;
virtual void visitPost(DocDiaFile *) = 0;
virtual void visitPre(DocLink *) = 0;