Doxygen
Loading...
Searching...
No Matches
dotcallgraph.h
Go to the documentation of this file.
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
()
override
;
31
NON_COPYABLE
(
DotCallGraph
)
32
33
bool
isTrivial
()
const
;
34
bool
isTooBig
()
const
;
35
int
numNodes
()
const
;
36
QCString
writeGraph
(
TextStream
&t,
GraphOutputFormat
gf,
EmbeddedOutputFormat
ef,
37
const
QCString
&path,
const
QCString
&fileName,
38
const
QCString
&relPath,
bool
writeImageMap=
TRUE
,
39
int
graphId=-1);
40
static
bool
isTrivial
(
const
MemberDef
*md,
bool
inverse);
41
42
protected
:
43
QCString
getBaseName
()
const override
;
44
QCString
getMapLabel
()
const override
;
45
void
computeTheGraph
()
override
;
46
47
private
:
48
void
buildGraph
(
DotNode
*n,
const
MemberDef
*md,
int
distance);
49
void
determineVisibleNodes
(
DotNodeDeque
&queue,
int
&maxNodes);
50
void
determineTruncatedNodes
(
DotNodeDeque
&queue);
51
DotNode
*
m_startNode
;
52
DotNodeMap
m_usedNodes
;
53
bool
m_inverse
;
54
QCString
m_diskName
;
55
const
Definition
*
m_scope
;
56
};
57
58
using
DotCallGraphPtr
= std::shared_ptr<DotCallGraph>;
59
60
#endif
Definition
The common base class of all entity definitions found in the sources.
Definition
definition.h:76
DotCallGraph::DotCallGraph
DotCallGraph(const MemberDef *md, bool inverse)
Definition
dotcallgraph.cpp:120
DotCallGraph::computeTheGraph
void computeTheGraph() override
Definition
dotcallgraph.cpp:165
DotCallGraph::buildGraph
void buildGraph(DotNode *n, const MemberDef *md, int distance)
Definition
dotcallgraph.cpp:33
DotCallGraph::numNodes
int numNodes() const
Definition
dotcallgraph.cpp:207
DotCallGraph::getBaseName
QCString getBaseName() const override
Definition
dotcallgraph.cpp:160
DotCallGraph::isTooBig
bool isTooBig() const
Definition
dotcallgraph.cpp:202
DotCallGraph::m_startNode
DotNode * m_startNode
Definition
dotcallgraph.h:51
DotCallGraph::m_scope
const Definition * m_scope
Definition
dotcallgraph.h:55
DotCallGraph::~DotCallGraph
~DotCallGraph() override
Definition
dotcallgraph.cpp:155
DotCallGraph::m_inverse
bool m_inverse
Definition
dotcallgraph.h:53
DotCallGraph::m_usedNodes
DotNodeMap m_usedNodes
Definition
dotcallgraph.h:52
DotCallGraph::getMapLabel
QCString getMapLabel() const override
Definition
dotcallgraph.cpp:178
DotCallGraph::m_diskName
QCString m_diskName
Definition
dotcallgraph.h:54
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::isTrivial
bool isTrivial() const
Definition
dotcallgraph.cpp:197
DotCallGraph::determineTruncatedNodes
void determineTruncatedNodes(DotNodeDeque &queue)
Definition
dotcallgraph.cpp:99
DotCallGraph::determineVisibleNodes
void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes)
Definition
dotcallgraph.cpp:80
DotGraph::DotGraph
DotGraph()
Definition
dotgraph.h:38
DotGraph::DotNode
friend class DotNode
Definition
dotgraph.h:36
DotNodeDeque
Definition
dotnode.h:153
DotNodeMap
Definition
dotnode.h:149
MemberDef
A model of a class/file/namespace member symbol.
Definition
memberdef.h:48
QCString
This is an alternative implementation of QCString.
Definition
qcstring.h:101
TextStream
Text streaming class that buffers data.
Definition
textstream.h:36
NON_COPYABLE
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition
construct.h:37
DotCallGraphPtr
std::shared_ptr< DotCallGraph > DotCallGraphPtr
Definition
dotcallgraph.h:58
dotgraph.h
EmbeddedOutputFormat
EmbeddedOutputFormat
Definition
dotgraph.h:30
GraphOutputFormat
GraphOutputFormat
Definition
dotgraph.h:29
dotnode.h
memberdef.h
TRUE
#define TRUE
Definition
qcstring.h:37
src
dotcallgraph.h
Generated by
1.13.0