Doxygen
dotcallgraph.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 DOTCALLGRAPH_H
17 #define DOTCALLGRAPH_H
18 
19 #include <memory>
20 
21 #include "dotnode.h"
22 #include "dotgraph.h"
23 #include "memberdef.h"
24 
25 /** Representation of an call graph */
26 class DotCallGraph : public DotGraph
27 {
28  public:
29  DotCallGraph(const MemberDef *md,bool inverse);
30  ~DotCallGraph();
31  bool isTrivial() const;
32  bool isTooBig() const;
33  int numNodes() const;
35  const QCString &path,const QCString &fileName,
36  const QCString &relPath,bool writeImageMap=TRUE,
37  int graphId=-1);
38  static bool isTrivial(const MemberDef *md,bool inverse);
39 
40  protected:
41  virtual QCString getBaseName() const;
42  virtual QCString getMapLabel() const;
43  virtual void computeTheGraph();
44 
45  private:
46  void buildGraph(DotNode *n,const MemberDef *md,int distance);
47  void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes);
51  bool m_inverse;
53  const Definition * m_scope;
54 };
55 
56 using DotCallGraphPtr = std::shared_ptr<DotCallGraph>;
57 
58 #endif
DotCallGraph::m_inverse
bool m_inverse
Definition: dotcallgraph.h:64
DotCallGraph::getBaseName
virtual QCString getBaseName() const
Definition: dotcallgraph.cpp:160
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
memberdef.h
dotnode.h
DotCallGraph::isTooBig
bool isTooBig() const
Definition: dotcallgraph.cpp:200
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
DotCallGraph::determineTruncatedNodes
void determineTruncatedNodes(DotNodeDeque &queue)
Definition: dotcallgraph.cpp:99
DotCallGraph::DotCallGraph
DotCallGraph(const MemberDef *md, bool inverse)
Definition: dotcallgraph.cpp:120
DotNode
A node in a dot graph
Definition: dotnode.h:56
MemberDef
A model of a class/file/namespace member symbol.
Definition: memberdef.h:45
DotCallGraph::determineVisibleNodes
void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes)
Definition: dotcallgraph.cpp:80
DotCallGraphPtr
std::shared_ptr< DotCallGraph > DotCallGraphPtr
Definition: dotcallgraph.h:56
DotCallGraph::computeTheGraph
virtual void computeTheGraph()
Definition: dotcallgraph.cpp:165
DotCallGraph::m_diskName
QCString m_diskName
Definition: dotcallgraph.h:65
DotCallGraph
Representation of an call graph
Definition: dotcallgraph.h:26
DotCallGraph::m_startNode
DotNode * m_startNode
Definition: dotcallgraph.h:62
TRUE
#define TRUE
Definition: qcstring.h:36
DotNodeMap
Definition: dotnode.h:133
dotgraph.h
DotCallGraph::numNodes
int numNodes() const
Definition: dotcallgraph.cpp:205
DotNodeDeque
Definition: dotnode.h:137
DotCallGraph::isTrivial
bool isTrivial() const
Definition: dotcallgraph.cpp:195
DotCallGraph::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: dotcallgraph.cpp:183
DotCallGraph::m_scope
const Definition * m_scope
Definition: dotcallgraph.h:66
DotCallGraph::buildGraph
void buildGraph(DotNode *n, const MemberDef *md, int distance)
Definition: dotcallgraph.cpp:33
EmbeddedOutputFormat
EmbeddedOutputFormat
Definition: dotgraph.h:28
GraphOutputFormat
GraphOutputFormat
Definition: dotgraph.h:27
DotGraph
A dot graph
Definition: dotgraph.h:32
DotCallGraph::m_usedNodes
DotNodeMap m_usedNodes
Definition: dotcallgraph.h:63
DotCallGraph::getMapLabel
virtual QCString getMapLabel() const
Definition: dotcallgraph.cpp:178
DotCallGraph::~DotCallGraph
~DotCallGraph()
Definition: dotcallgraph.cpp:155
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108