Doxygen
dotincldepgraph.h
浏览该文件的文档.
1 /******************************************************************************
2 *
3 * Copyright (C) 1997-2019 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 DOTINCLDEPGRAPH_H
17 #define DOTINCLDEPGRAPH_H
18 
19 #include <memory>
20 
21 #include "qcstring.h"
22 #include "filedef.h"
23 
24 #include "dotnode.h"
25 #include "dotgraph.h"
26 
27 class TextStream;
28 
29 /** Representation of an include dependency graph */
30 class DotInclDepGraph : public DotGraph
31 {
32  public:
33  DotInclDepGraph(const FileDef *fd,bool inverse);
36  const QCString &path,const QCString &fileName,const QCString &relPath,
37  bool writeImageMap=TRUE,int graphId=-1);
38  bool isTrivial() const;
39  bool isTooBig() const;
40  int numNodes() const;
41  void writeXML(TextStream &t);
42  void writeDocbook(TextStream &t);
43 
44  protected:
45  virtual QCString getBaseName() const;
46  virtual QCString getMapLabel() const;
47  virtual void computeTheGraph();
48 
49  private:
50  QCString diskName() const;
51  void buildGraph(DotNode *n,const FileDef *fd,int distance);
52  void determineVisibleNodes(DotNodeDeque &queue,int &maxNodes);
54 
59  bool m_inverse;
60 };
61 
62 using DotInclDepGraphPtr = std::shared_ptr<DotInclDepGraph>;
63 
64 #endif
DotInclDepGraphPtr
std::shared_ptr< DotInclDepGraph > DotInclDepGraphPtr
Definition: dotincldepgraph.h:62
DotInclDepGraph::writeXML
void writeXML(TextStream &t)
Definition: dotincldepgraph.cpp:211
DotInclDepGraph::m_inclByDepFileName
QCString m_inclByDepFileName
Definition: dotincldepgraph.h:58
dotnode.h
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
qcstring.h
DotInclDepGraph::writeDocbook
void writeDocbook(TextStream &t)
Definition: dotincldepgraph.cpp:219
DotInclDepGraph::numNodes
int numNodes() const
Definition: dotincldepgraph.cpp:206
DotInclDepGraph::writeGraph
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
Definition: dotincldepgraph.cpp:184
DotNode
A node in a dot graph
Definition: dotnode.h:56
DotInclDepGraph::getBaseName
virtual QCString getBaseName() const
Definition: dotincldepgraph.cpp:154
DotInclDepGraph::determineVisibleNodes
void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes)
Definition: dotincldepgraph.cpp:79
DotInclDepGraph::m_startNode
DotNode * m_startNode
Definition: dotincldepgraph.h:55
DotInclDepGraph::m_inclDepFileName
QCString m_inclDepFileName
Definition: dotincldepgraph.h:57
DotInclDepGraph::DotInclDepGraph
DotInclDepGraph(const FileDef *fd, bool inverse)
Definition: dotincldepgraph.cpp:123
DotInclDepGraph::buildGraph
void buildGraph(DotNode *n, const FileDef *fd, int distance)
Definition: dotincldepgraph.cpp:22
DotInclDepGraph::m_inverse
bool m_inverse
Definition: dotincldepgraph.h:59
TRUE
#define TRUE
Definition: qcstring.h:36
DotNodeMap
Definition: dotnode.h:133
filedef.h
DotInclDepGraph::computeTheGraph
virtual void computeTheGraph()
Definition: dotincldepgraph.cpp:166
DotInclDepGraph::~DotInclDepGraph
~DotInclDepGraph()
Definition: dotincldepgraph.cpp:149
dotgraph.h
DotInclDepGraph::m_usedNodes
DotNodeMap m_usedNodes
Definition: dotincldepgraph.h:56
DotNodeDeque
Definition: dotnode.h:137
DotInclDepGraph::isTooBig
bool isTooBig() const
Definition: dotincldepgraph.cpp:201
DotInclDepGraph::diskName
QCString diskName() const
FileDef
A model of a file symbol.
Definition: filedef.h:73
EmbeddedOutputFormat
EmbeddedOutputFormat
Definition: dotgraph.h:28
GraphOutputFormat
GraphOutputFormat
Definition: dotgraph.h:27
DotInclDepGraph
Representation of an include dependency graph
Definition: dotincldepgraph.h:30
DotInclDepGraph::isTrivial
bool isTrivial() const
Definition: dotincldepgraph.cpp:196
DotGraph
A dot graph
Definition: dotgraph.h:32
DotInclDepGraph::determineTruncatedNodes
void determineTruncatedNodes(DotNodeDeque &queue)
Definition: dotincldepgraph.cpp:98
DotInclDepGraph::getMapLabel
virtual QCString getMapLabel() const
Definition: dotincldepgraph.cpp:172
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108