Doxygen
Loading...
Searching...
No Matches
dotincldepgraph.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 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);
34
~DotInclDepGraph
()
override
;
35
NON_COPYABLE
(
DotInclDepGraph
)
36
37
QCString
writeGraph
(
TextStream
&t,
GraphOutputFormat
gf,
EmbeddedOutputFormat
ef,
38
const
QCString
&path,
const
QCString
&fileName,
const
QCString
&relPath,
39
bool
writeImageMap=
TRUE
,
int
graphId=-1);
40
bool
isTrivial
()
const
;
41
bool
isTooBig
()
const
;
42
int
numNodes
()
const
;
43
void
writeXML
(
TextStream
&t);
44
void
writeDocbook
(
TextStream
&t);
45
46
protected
:
47
QCString
getBaseName
()
const override
;
48
QCString
getMapLabel
()
const override
;
49
void
computeTheGraph
()
override
;
50
51
private
:
52
QCString
diskName
()
const
;
53
void
buildGraph
(
DotNode
*n,
const
FileDef
*fd,
int
distance);
54
void
determineVisibleNodes
(
DotNodeDeque
&queue,
int
&maxNodes);
55
void
determineTruncatedNodes
(
DotNodeDeque
&queue);
56
57
DotNode
*
m_startNode
;
58
DotNodeMap
m_usedNodes
;
59
QCString
m_inclDepFileName
;
60
QCString
m_inclByDepFileName
;
61
bool
m_inverse
;
62
};
63
64
using
DotInclDepGraphPtr
= std::shared_ptr<DotInclDepGraph>;
65
66
#endif
DotGraph::DotGraph
DotGraph()
Definition
dotgraph.h:38
DotGraph::DotNode
friend class DotNode
Definition
dotgraph.h:36
DotInclDepGraph::diskName
QCString diskName() const
DotInclDepGraph::computeTheGraph
void computeTheGraph() override
Definition
dotincldepgraph.cpp:166
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
DotInclDepGraph::determineVisibleNodes
void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes)
Definition
dotincldepgraph.cpp:79
DotInclDepGraph::writeXML
void writeXML(TextStream &t)
Definition
dotincldepgraph.cpp:211
DotInclDepGraph::m_usedNodes
DotNodeMap m_usedNodes
Definition
dotincldepgraph.h:58
DotInclDepGraph::m_inverse
bool m_inverse
Definition
dotincldepgraph.h:61
DotInclDepGraph::m_inclDepFileName
QCString m_inclDepFileName
Definition
dotincldepgraph.h:59
DotInclDepGraph::determineTruncatedNodes
void determineTruncatedNodes(DotNodeDeque &queue)
Definition
dotincldepgraph.cpp:98
DotInclDepGraph::writeDocbook
void writeDocbook(TextStream &t)
Definition
dotincldepgraph.cpp:219
DotInclDepGraph::DotInclDepGraph
DotInclDepGraph(const FileDef *fd, bool inverse)
Definition
dotincldepgraph.cpp:123
DotInclDepGraph::isTooBig
bool isTooBig() const
Definition
dotincldepgraph.cpp:201
DotInclDepGraph::m_startNode
DotNode * m_startNode
Definition
dotincldepgraph.h:57
DotInclDepGraph::getBaseName
QCString getBaseName() const override
Definition
dotincldepgraph.cpp:154
DotInclDepGraph::numNodes
int numNodes() const
Definition
dotincldepgraph.cpp:206
DotInclDepGraph::buildGraph
void buildGraph(DotNode *n, const FileDef *fd, int distance)
Definition
dotincldepgraph.cpp:22
DotInclDepGraph::getMapLabel
QCString getMapLabel() const override
Definition
dotincldepgraph.cpp:172
DotInclDepGraph::~DotInclDepGraph
~DotInclDepGraph() override
Definition
dotincldepgraph.cpp:149
DotInclDepGraph::m_inclByDepFileName
QCString m_inclByDepFileName
Definition
dotincldepgraph.h:60
DotInclDepGraph::isTrivial
bool isTrivial() const
Definition
dotincldepgraph.cpp:196
DotNodeDeque
Definition
dotnode.h:153
DotNodeMap
Definition
dotnode.h:149
FileDef
A model of a file symbol.
Definition
filedef.h:99
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
dotgraph.h
EmbeddedOutputFormat
EmbeddedOutputFormat
Definition
dotgraph.h:30
GraphOutputFormat
GraphOutputFormat
Definition
dotgraph.h:29
DotInclDepGraphPtr
std::shared_ptr< DotInclDepGraph > DotInclDepGraphPtr
Definition
dotincldepgraph.h:64
dotnode.h
filedef.h
qcstring.h
TRUE
#define TRUE
Definition
qcstring.h:37
src
dotincldepgraph.h
Generated by
1.13.0