doxygen
markdown.h
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2015 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 MARKDOWN_H
17 #define MARKDOWN_H
18 
19 #include <memory>
20 
21 #include "qcstring.h"
22 #include "parserintf.h"
23 
24 class Entry;
25 
27 //QCString processMarkdown(const QCString &fileName,const int lineNr,Entry *e,const QCString &s);
28 QCString markdownFileNameToId(const QCString &fileName);
29 
31 class Markdown
32 {
33  public:
34  Markdown(const QCString &fileName,int lineNr,int indentLevel=0);
35  ~Markdown();
36  NON_COPYABLE(Markdown)
37  QCString process(const QCString &input, int &startNewlines, bool fromParseInput = false);
38  QCString extractPageTitle(QCString &docs, QCString &id, int &prepend, bool &isIdGenerated);
39  void setIndentLevel(int level);
40 
41  private:
42  struct Private;
43  std::unique_ptr<Private> prv;
44 };
45 
47 {
48  public:
50  ~MarkdownOutlineParser() override;
51  NON_COPYABLE(MarkdownOutlineParser)
52  void parseInput(const QCString &fileName,
53  const char *fileBuf,
54  const std::shared_ptr<Entry> &root,
55  ClangTUParser *clangParser) override;
56  bool needsPreprocessing(const QCString &) const override { return FALSE; }
57  void parsePrototype(const QCString &text) override;
58  private:
59  struct Private;
60  std::unique_ptr<Private> p;
61 };
62 
63 
64 #endif
Represents an unstructured piece of information, about an entity found in the sources.
Definition: entry.h:114
Definition: markdown.cpp:107
bool needsPreprocessing(const QCString &) const override
Returns TRUE if the language identified by extension needs the C preprocessor to be run before feed t...
Definition: markdown.h:56
Abstract interface for outline parsers.
Definition: parserintf.h:41
QCString fileName
file this entry was extracted from
Definition: entry.h:222
This is an alternative implementation of QCString.
Definition: qcstring.h:93
Definition: markdown.h:46
Definition: markdown.cpp:3465
Helper class to process markdown formatted text.
Definition: markdown.h:31
Clang parser object for a single translation unit, which consists of a source file and the directly o...
Definition: clangparser.h:24