Doxygen
Toggle main menu visibility
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 "
dotgraph.h
"
22
#include "
dotnode.h
"
23
#include "
dstring.h
"
24
25
class
FileDef
;
26
class
TextStream
;
27
28
/** Representation of an include dependency graph */
29
class
DotInclDepGraph
final :
public
DotGraph
30
{
31
public
:
32
DotInclDepGraph
(
const
FileDef
*fd,
bool
inverse);
33
~DotInclDepGraph
()
override
;
34
NON_COPYABLE
(
DotInclDepGraph
)
35
36
DString
writeGraph
(
TextStream
&t,
GraphOutputFormat
gf,
EmbeddedOutputFormat
ef,
37
const
DString
&path,
const
DString
&fileName,
const
DString
&relPath,
38
bool
writeImageMap=
true
,
int
graphId=-1);
39
bool
isTrivial
()
const
;
40
bool
isTooBig
()
const
;
41
int
numNodes
()
const
;
42
void
writeXML
(
TextStream
&t);
43
void
writeDocbook
(
TextStream
&t);
44
45
protected
:
46
DString
getBaseName
()
const override
;
47
DString
getMapLabel
()
const override
;
48
void
computeTheGraph
()
override
;
49
50
private
:
51
DString
diskName
()
const
;
52
void
buildGraph
(
DotNode
*n,
const
FileDef
*fd,
int
distance);
53
void
determineVisibleNodes
(
DotNodeDeque
&queue,
int
&maxNodes);
54
void
determineTruncatedNodes
(
DotNodeDeque
&queue);
55
56
DotNode
*
m_startNode
;
57
DotNodeMap
m_usedNodes
;
58
DString
m_inclDepFileName
;
59
DString
m_inclByDepFileName
;
60
bool
m_inverse
;
61
};
62
63
using
DotInclDepGraphPtr
= std::shared_ptr<DotInclDepGraph>;
64
65
#endif
DString
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition
dstring.h:88
DotGraph::DotGraph
DotGraph()
Definition
dotgraph.h:38
DotGraph::DotNode
friend class DotNode
Definition
dotgraph.h:36
DotInclDepGraph::computeTheGraph
void computeTheGraph() override
Definition
dotincldepgraph.cpp:168
DotInclDepGraph::writeGraph
DString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const DString &path, const DString &fileName, const DString &relPath, bool writeImageMap=true, int graphId=-1)
Definition
dotincldepgraph.cpp:186
DotInclDepGraph::determineVisibleNodes
void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes)
Definition
dotincldepgraph.cpp:81
DotInclDepGraph::writeXML
void writeXML(TextStream &t)
Definition
dotincldepgraph.cpp:215
DotInclDepGraph::m_inclDepFileName
DString m_inclDepFileName
Definition
dotincldepgraph.h:58
DotInclDepGraph::m_usedNodes
DotNodeMap m_usedNodes
Definition
dotincldepgraph.h:57
DotInclDepGraph::getMapLabel
DString getMapLabel() const override
Definition
dotincldepgraph.cpp:174
DotInclDepGraph::m_inverse
bool m_inverse
Definition
dotincldepgraph.h:60
DotInclDepGraph::diskName
DString diskName() const
DotInclDepGraph::determineTruncatedNodes
void determineTruncatedNodes(DotNodeDeque &queue)
Definition
dotincldepgraph.cpp:100
DotInclDepGraph::writeDocbook
void writeDocbook(TextStream &t)
Definition
dotincldepgraph.cpp:223
DotInclDepGraph::DotInclDepGraph
DotInclDepGraph(const FileDef *fd, bool inverse)
Definition
dotincldepgraph.cpp:125
DotInclDepGraph::isTooBig
bool isTooBig() const
Definition
dotincldepgraph.cpp:205
DotInclDepGraph::m_startNode
DotNode * m_startNode
Definition
dotincldepgraph.h:56
DotInclDepGraph::getBaseName
DString getBaseName() const override
Definition
dotincldepgraph.cpp:156
DotInclDepGraph::m_inclByDepFileName
DString m_inclByDepFileName
Definition
dotincldepgraph.h:59
DotInclDepGraph::numNodes
int numNodes() const
Definition
dotincldepgraph.cpp:210
DotInclDepGraph::buildGraph
void buildGraph(DotNode *n, const FileDef *fd, int distance)
Definition
dotincldepgraph.cpp:24
DotInclDepGraph::isTrivial
bool isTrivial() const
Definition
dotincldepgraph.cpp:200
DotNodeDeque
Definition
dotnode.h:153
DotNodeMap
Definition
dotnode.h:149
FileDef
A model of a file symbol.
Definition
filedef.h:97
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:63
dotnode.h
dstring.h
src
dotincldepgraph.h
Generated by
1.19.0