doxygen
docparser.h
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2022 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #ifndef DOCPARSER_H
17 #define DOCPARSER_H
18 
19 #include <stdio.h>
20 #include <memory>
21 
22 #include "qcstring.h"
23 #include "growvector.h"
24 
25 class MemberDef;
26 class Definition;
27 
28 //---------------------------------------------------------------------------
29 
32 {
33  public:
34  virtual ~IDocParser() = default;
35 };
36 
38 using IDocParserPtr = std::unique_ptr<IDocParser>;
39 
41 IDocParserPtr createDocParser();
42 
43 //---------------------------------------------------------------------------
44 
47 {
48  public:
49  virtual ~IDocNodeAST() = default;
50  virtual bool isEmpty() const = 0;
51 };
52 
53 using IDocNodeASTPtr = std::unique_ptr<IDocNodeAST>;
54 
78 IDocNodeASTPtr validatingParseDoc(IDocParser &parserIntf,const QCString &fileName,int startLine,
79  const Definition *ctx, const MemberDef *md,
80  const QCString &input,bool indexWords,
81  bool isExample,const QCString &exampleName,
82  bool singleLine,bool linkFromIndex,
83  bool markdownSupport);
84 
88 IDocNodeASTPtr validatingParseText(IDocParser &parser,const QCString &input);
89 
90 IDocNodeASTPtr createRef(IDocParser &parser,const QCString &target,const QCString &context, const QCString &srcFile = "", int srcLine = -1);
91 
92 //--------------------------------------------------------------------------------
93 
97 void docFindSections(const QCString &input,
98  const Definition *d,
99  const QCString &fileName);
100 
101 #endif
The common base class of all entity definitions found in the sources.
Definition: definition.h:74
A model of a class/file/namespace member symbol.
Definition: memberdef.h:46
opaque parser interface
Definition: docparser.h:31
opaque representation of the abstract syntax tree (AST)
Definition: docparser.h:46
This is an alternative implementation of QCString.
Definition: qcstring.h:92