Doxygen
DotGraph类 参考abstract

A dot graph 更多...

#include <dotgraph.h>

+ 类 DotGraph 继承关系图:
+ DotGraph 的协作图:

Public 成员函数

 DotGraph ()
 
virtual ~DotGraph ()
 

Protected 成员函数

int getNextNodeNumber ()
 returns node numbers. 更多...
 
QCString writeGraph (TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
 
virtual QCString getBaseName () const =0
 
virtual QCString absMapName () const
 
virtual QCString getMapLabel () const =0
 
virtual QCString getImgAltText () const
 
virtual void computeTheGraph ()=0
 
QCString absBaseName () const
 
QCString absDotName () const
 
QCString imgName () const
 
QCString absImgName () const
 
QCString relImgName () const
 

静态 Protected 成员函数

static void writeGraphHeader (TextStream &t, const QCString &title=QCString())
 
static void writeGraphFooter (TextStream &t)
 
static void computeGraph (DotNode *root, GraphType gt, GraphOutputFormat format, const QCString &rank, bool renderParents, bool backArrows, const QCString &title, QCString &graphStr)
 

Protected 属性

GraphOutputFormat m_graphFormat = GOF_BITMAP
 
EmbeddedOutputFormat m_textFormat = EOF_Html
 
Dir m_dir
 
QCString m_fileName
 
QCString m_relPath
 
bool m_generateImageMap = false
 
int m_graphId = 0
 
QCString m_absPath
 
QCString m_baseName
 
QCString m_theGraph
 
bool m_regenerate = false
 
bool m_doNotAddImageToIndex = false
 
bool m_noDivTag = false
 
bool m_zoomable = true
 
bool m_urlOnly = false
 

Private 成员函数

 DotGraph (const DotGraph &)
 
DotGraphoperator= (const DotGraph &)
 
bool prepareDotFile ()
 
void generateCode (TextStream &t)
 

Private 属性

int m_curNodeNumber = 0
 

详细描述

A dot graph

在文件 dotgraph.h32 行定义.

构造及析构函数说明

◆ DotGraph() [1/2]

DotGraph::DotGraph ( )
inline

在文件 dotgraph.h35 行定义.

◆ ~DotGraph()

virtual DotGraph::~DotGraph ( )
inlinevirtual

在文件 dotgraph.h37 行定义.

37 {}

◆ DotGraph() [2/2]

DotGraph::DotGraph ( const DotGraph )
private

成员函数说明

◆ absBaseName()

QCString DotGraph::absBaseName ( ) const
inlineprotected

在文件 dotgraph.h72 行定义.

72 { return m_absPath + m_baseName; }

引用了 m_absPath , 以及 m_baseName.

被这些函数引用 generateCode(), prepareDotFile() , 以及 DotLegendGraph::writeGraph().

◆ absDotName()

QCString DotGraph::absDotName ( ) const
inlineprotected

在文件 dotgraph.h73 行定义.

73 { return m_absPath + m_baseName + ".dot"; }

引用了 m_absPath , 以及 m_baseName.

被这些函数引用 prepareDotFile().

◆ absImgName()

QCString DotGraph::absImgName ( ) const
inlineprotected

在文件 dotgraph.h75 行定义.

75 { return m_absPath + imgName(); }

引用了 imgName() , 以及 m_absPath.

被这些函数引用 generateCode(), prepareDotFile() , 以及 DotLegendGraph::writeGraph().

◆ absMapName()

virtual QCString DotGraph::absMapName ( ) const
inlineprotectedvirtual

在文件 dotgraph.h66 行定义.

66 { return m_absPath + m_baseName + ".map"; }

引用了 m_absPath , 以及 m_baseName.

被这些函数引用 generateCode() , 以及 prepareDotFile().

◆ computeGraph()

void DotGraph::computeGraph ( DotNode root,
GraphType  gt,
GraphOutputFormat  format,
const QCString rank,
bool  renderParents,
bool  backArrows,
const QCString title,
QCString graphStr 
)
staticprotected

在文件 dotgraph.cpp305 行定义.

313 {
314  //printf("computeMd5Signature\n");
315  TextStream md5stream;
316  writeGraphHeader(md5stream,title);
317  if (!rank.isEmpty())
318  {
319  md5stream << " rankdir=\"" << rank << "\";\n";
320  }
321  root->clearWriteFlag();
322  root->write(md5stream, gt, format, gt!=CallGraph && gt!=Dependency, TRUE, backArrows);
323  if (renderParents)
324  {
325  for (const auto &pn : root->parents())
326  {
327  if (pn->isVisible())
328  {
329  const auto &children = pn->children();
330  auto child_it = std::find(children.begin(),children.end(),root);
331  size_t index = child_it - children.begin();
332  root->writeArrow(md5stream, // stream
333  gt, // graph type
334  format, // output format
335  pn, // child node
336  &pn->edgeInfo()[index], // edge info
337  FALSE, // topDown?
338  backArrows // point back?
339  );
340  }
341  pn->write(md5stream, // stream
342  gt, // graph type
343  format, // output format
344  TRUE, // topDown?
345  FALSE, // toChildren?
346  backArrows // backward pointing arrows?
347  );
348  }
349  }
350  writeGraphFooter(md5stream);
351 
352  graphStr=md5stream.str();
353 }

引用了 CallGraph, DotNode::clearWriteFlag(), Dependency, FALSE, QCString::isEmpty(), DotNode::parents(), TextStream::str(), TRUE, DotNode::write(), DotNode::writeArrow(), writeGraphFooter() , 以及 writeGraphHeader().

被这些函数引用 DotClassGraph::computeTheGraph(), DotInclDepGraph::computeTheGraph() , 以及 DotCallGraph::computeTheGraph().

◆ computeTheGraph()

virtual void DotGraph::computeTheGraph ( )
protectedpure virtual

◆ generateCode()

void DotGraph::generateCode ( TextStream t)
private

在文件 dotgraph.cpp204 行定义.

205 {
206  QCString imgExt = getDotImageExtension();
208  {
209  t << "<para>\n";
210  t << " <informalfigure>\n";
211  t << " <mediaobject>\n";
212  t << " <imageobject>\n";
213  t << " <imagedata";
214  t << " width=\"50%\" align=\"center\" valign=\"middle\" scalefit=\"0\" fileref=\"" << m_relPath << m_baseName << "." << imgExt << "\">";
215  t << "</imagedata>\n";
216  t << " </imageobject>\n";
217  t << " </mediaobject>\n";
218  t << " </informalfigure>\n";
219  t << "</para>\n";
220  }
221  else if (m_graphFormat==GOF_BITMAP && m_generateImageMap) // produce HTML to include the image
222  {
223  if (imgExt=="svg") // add link to SVG file without map file
224  {
225  if (!m_noDivTag) t << "<div class=\"center\">";
226  if (m_regenerate || !DotFilePatcher::writeSVGFigureLink(t,m_relPath,m_baseName,absImgName())) // need to patch the links in the generated SVG file
227  {
228  if (m_regenerate)
229  {
231  createFilePatcher(absImgName())->
232  addSVGConversion(m_relPath,FALSE,QCString(),m_zoomable,m_graphId);
233  }
234  int mapId = DotManager::instance()->
235  createFilePatcher(m_fileName)->
236  addSVGObject(m_baseName,absImgName(),m_relPath);
237  t << "<!-- SVG " << mapId << " -->\n";
238  }
239  if (!m_noDivTag) t << "</div>\n";
240  }
241  else // add link to bitmap file with image map
242  {
243  if (!m_noDivTag) t << "<div class=\"center\">";
244  t << "<img src=\"" << relImgName() << "\" border=\"0\" usemap=\"#" << correctId(getMapLabel()) << "\" alt=\"" << getImgAltText() << "\"/>";
245  if (!m_noDivTag) t << "</div>";
246  t << "\n";
248  {
249  int mapId = DotManager::instance()->
250  createFilePatcher(m_fileName)->
252  t << "<!-- MAP " << mapId << " -->\n";
253  }
254  }
255  }
256  else if (m_graphFormat==GOF_EPS) // produce tex to include the .eps image
257  {
259  {
260  int figId = DotManager::instance()->
261  createFilePatcher(m_fileName)->
262  addFigure(m_baseName,absBaseName(),FALSE /*TRUE*/);
263  t << "\n% FIG " << figId << "\n";
264  }
265  }
266 }

引用了 absBaseName(), absImgName(), absMapName(), correctId(), EOF_DocBook, FALSE, getDotImageExtension(), getImgAltText(), getMapLabel(), GOF_BITMAP, GOF_EPS, insertMapFile(), DotManager::instance(), m_baseName, m_fileName, m_generateImageMap, m_graphFormat, m_graphId, m_noDivTag, m_regenerate, m_relPath, m_textFormat, m_urlOnly, m_zoomable, relImgName(), DotFilePatcher::writeSVGFigureLink() , 以及 DotFilePatcher::writeVecGfxFigure().

被这些函数引用 writeGraph().

◆ getBaseName()

virtual QCString DotGraph::getBaseName ( ) const
protectedpure virtual

◆ getImgAltText()

virtual QCString DotGraph::getImgAltText ( ) const
inlineprotectedvirtual

DotDirDeps , 以及 DotClassGraph 重载.

在文件 dotgraph.h68 行定义.

68 { return ""; }

被这些函数引用 generateCode().

◆ getMapLabel()

virtual QCString DotGraph::getMapLabel ( ) const
protectedpure virtual

◆ getNextNodeNumber()

◆ imgName()

QCString DotGraph::imgName ( ) const
protected

在文件 dotgraph.cpp105 行定义.

106 {
107  return m_baseName + ((m_graphFormat == GOF_BITMAP) ?
108  ("." + getDotImageExtension()) : (Config_getBool(USE_PDFLATEX) ? ".pdf" : ".eps"));
109 }

引用了 Config_getBool, getDotImageExtension(), GOF_BITMAP, m_baseName , 以及 m_graphFormat.

被这些函数引用 absImgName(), relImgName() , 以及 writeGraph().

◆ operator=()

DotGraph& DotGraph::operator= ( const DotGraph )
private

◆ prepareDotFile()

bool DotGraph::prepareDotFile ( )
private

在文件 dotgraph.cpp143 行定义.

144 {
145  if (!m_dir.exists())
146  {
147  term("Output dir %s does not exist!\n", m_dir.path().c_str());
148  }
149 
150  char sigStr[33];
151  uchar md5_sig[16];
152  // calculate md5
153  MD5Buffer((const unsigned char*)m_theGraph.data(), m_theGraph.length(), md5_sig);
154  // convert result to a string
155  MD5SigToString(md5_sig, sigStr);
156 
157  // already queued files are processed again in case the output format has changed
158 
159  if (sameMd5Signature(absBaseName(), sigStr) &&
162  )
163  )
164  {
165  // all needed files are there
166  return FALSE;
167  }
168 
169  // need to rebuild the image
170 
171  // write .dot file because image was new or has changed
172  std::ofstream f(absDotName().str(),std::ofstream::out | std::ofstream::binary);
173  if (!f.is_open())
174  {
175  err("Could not open file %s for writing\n",qPrint(absDotName()));
176  return TRUE;
177  }
178  f << m_theGraph;
179  f.close();
180 
181  if (m_graphFormat == GOF_BITMAP)
182  {
183  // run dot to create a bitmap image
184  DotRunner * dotRun = DotManager::instance()->createRunner(absDotName(), sigStr);
185  dotRun->addJob(Config_getEnumAsString(DOT_IMAGE_FORMAT), absImgName(), absDotName(), 1);
186  if (m_generateImageMap) dotRun->addJob(MAP_CMD, absMapName(), absDotName(), 1);
187  }
188  else if (m_graphFormat == GOF_EPS)
189  {
190  // run dot to create a .eps image
191  DotRunner *dotRun = DotManager::instance()->createRunner(absDotName(), sigStr);
192  if (Config_getBool(USE_PDFLATEX))
193  {
194  dotRun->addJob("pdf",absImgName(),absDotName(),1);
195  }
196  else
197  {
198  dotRun->addJob("ps",absImgName(),absDotName(),1);
199  }
200  }
201  return TRUE;
202 }

引用了 absBaseName(), absDotName(), absImgName(), absMapName(), DotRunner::addJob(), Config_getBool, Config_getEnumAsString, DotManager::createRunner(), QCString::data(), deliverablesPresent(), err(), Dir::exists(), FALSE, GOF_BITMAP, GOF_EPS, DotManager::instance(), QCString::length(), m_dir, m_generateImageMap, m_graphFormat, m_theGraph, MAP_CMD, Dir::path(), qPrint(), sameMd5Signature(), term() , 以及 TRUE.

被这些函数引用 writeGraph().

◆ relImgName()

QCString DotGraph::relImgName ( ) const
inlineprotected

在文件 dotgraph.h76 行定义.

76 { return m_relPath + imgName(); }

引用了 imgName() , 以及 m_relPath.

被这些函数引用 generateCode().

◆ writeGraph()

QCString DotGraph::writeGraph ( TextStream t,
GraphOutputFormat  gf,
EmbeddedOutputFormat  ef,
const QCString path,
const QCString fileName,
const QCString relPath,
bool  writeImageMap = TRUE,
int  graphId = -1 
)
protected

◆ writeGraphFooter()

void DotGraph::writeGraphFooter ( TextStream t)
staticprotected

◆ writeGraphHeader()

void DotGraph::writeGraphHeader ( TextStream t,
const QCString title = QCString() 
)
staticprotected

在文件 dotgraph.cpp268 行定义.

269 {
270  int fontSize = Config_getInt(DOT_FONTSIZE);
271  QCString fontName = Config_getString(DOT_FONTNAME);
272  t << "digraph ";
273  if (title.isEmpty())
274  {
275  t << "\"Dot Graph\"";
276  }
277  else
278  {
279  t << "\"" << convertToXML(title) << "\"";
280  }
281  t << "\n{\n";
282  if (Config_getBool(INTERACTIVE_SVG)) // insert a comment to force regeneration when this
283  // option is toggled
284  {
285  t << " // INTERACTIVE_SVG=YES\n";
286  }
287  t << " // LATEX_PDF_SIZE\n"; // write placeholder for LaTeX PDF bounding box size replacement
288  if (Config_getBool(DOT_TRANSPARENT))
289  {
290  t << " bgcolor=\"transparent\";\n";
291  }
292  t << " edge [fontname=\"" << fontName << "\","
293  "fontsize=\"" << fontSize << "\","
294  "labelfontname=\"" << fontName << "\","
295  "labelfontsize=\"" << fontSize << "\"];\n";
296  t << " node [fontname=\"" << fontName << "\","
297  "fontsize=\"" << fontSize << "\",shape=record];\n";
298 }

引用了 Config_getBool, Config_getInt, Config_getString, convertToXML() , 以及 QCString::isEmpty().

被这些函数引用 computeGraph(), DotLegendGraph::computeTheGraph(), DotGfxHierarchyTable::computeTheGraph() , 以及 DotDirDeps::computeTheGraph().

类成员变量说明

◆ m_absPath

QCString DotGraph::m_absPath
protected

在文件 dotgraph.h87 行定义.

被这些函数引用 absBaseName(), absDotName(), absImgName(), absMapName() , 以及 writeGraph().

◆ m_baseName

◆ m_curNodeNumber

int DotGraph::m_curNodeNumber = 0
private

在文件 dotgraph.h103 行定义.

被这些函数引用 getNextNodeNumber().

◆ m_dir

Dir DotGraph::m_dir
protected

在文件 dotgraph.h81 行定义.

被这些函数引用 prepareDotFile() , 以及 writeGraph().

◆ m_doNotAddImageToIndex

bool DotGraph::m_doNotAddImageToIndex = false
protected

在文件 dotgraph.h91 行定义.

被这些函数引用 DotGroupCollaboration::writeGraph() , 以及 writeGraph().

◆ m_fileName

QCString DotGraph::m_fileName
protected

在文件 dotgraph.h82 行定义.

被这些函数引用 generateCode() , 以及 writeGraph().

◆ m_generateImageMap

bool DotGraph::m_generateImageMap = false
protected

在文件 dotgraph.h84 行定义.

被这些函数引用 generateCode(), prepareDotFile() , 以及 writeGraph().

◆ m_graphFormat

◆ m_graphId

int DotGraph::m_graphId = 0
protected

在文件 dotgraph.h85 行定义.

被这些函数引用 generateCode() , 以及 writeGraph().

◆ m_noDivTag

bool DotGraph::m_noDivTag = false
protected

在文件 dotgraph.h92 行定义.

被这些函数引用 DotGfxHierarchyTable::createGraph() , 以及 generateCode().

◆ m_regenerate

bool DotGraph::m_regenerate = false
protected

在文件 dotgraph.h90 行定义.

被这些函数引用 generateCode() , 以及 writeGraph().

◆ m_relPath

QCString DotGraph::m_relPath
protected

在文件 dotgraph.h83 行定义.

被这些函数引用 generateCode(), relImgName() , 以及 writeGraph().

◆ m_textFormat

EmbeddedOutputFormat DotGraph::m_textFormat = EOF_Html
protected

在文件 dotgraph.h80 行定义.

被这些函数引用 generateCode() , 以及 writeGraph().

◆ m_theGraph

◆ m_urlOnly

bool DotGraph::m_urlOnly = false
protected

在文件 dotgraph.h94 行定义.

被这些函数引用 generateCode() , 以及 DotDirDeps::writeGraph().

◆ m_zoomable

bool DotGraph::m_zoomable = true
protected

在文件 dotgraph.h93 行定义.

被这些函数引用 DotGfxHierarchyTable::createGraph() , 以及 generateCode().


该类的文档由以下文件生成:
getDotImageExtension
QCString getDotImageExtension()
Definition: util.cpp:7032
DotGraph::m_graphId
int m_graphId
Definition: dotgraph.h:85
DotManager::instance
static DotManager * instance()
Definition: dot.cpp:77
DotGraph::m_urlOnly
bool m_urlOnly
Definition: dotgraph.h:94
DotNode::parents
const DotNodeRefVector & parents() const
Definition: dotnode.h:110
DotGraph::m_theGraph
QCString m_theGraph
Definition: dotgraph.h:89
DotGraph::m_dir
Dir m_dir
Definition: dotgraph.h:81
DotGraph::m_doNotAddImageToIndex
bool m_doNotAddImageToIndex
Definition: dotgraph.h:91
Dir
Class representing a directory in the file system
Definition: dir.h:68
DotRunner
Helper class to run dot from doxygen from multiple threads.
Definition: dotrunner.h:30
QCString::length
uint length() const
Returns the length of the string, not counting the 0-terminator.
Definition: qcstring.h:147
DotGraph::getImgAltText
virtual QCString getImgAltText() const
Definition: dotgraph.h:68
DotNode::write
void write(TextStream &t, GraphType gt, GraphOutputFormat f, bool topDown, bool toChildren, bool backArrows) const
Definition: dotnode.cpp:532
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
DotGraph::relImgName
QCString relImgName() const
Definition: dotgraph.h:76
DotGraph::m_regenerate
bool m_regenerate
Definition: dotgraph.h:90
MAP_CMD
#define MAP_CMD
Definition: dotgraph.cpp:32
Doxygen::indexList
static IndexList * indexList
Definition: doxygen.h:114
DotManager::createRunner
DotRunner * createRunner(const QCString &absDotName, const QCString &md5Hash)
Definition: dot.cpp:120
DotFilePatcher::writeVecGfxFigure
static bool writeVecGfxFigure(TextStream &out, const QCString &baseName, const QCString &figureName)
Definition: dotfilepatcher.cpp:578
DotGraph::absBaseName
QCString absBaseName() const
Definition: dotgraph.h:72
DotGraph::getMapLabel
virtual QCString getMapLabel() const =0
DotGraph::generateCode
void generateCode(TextStream &t)
Definition: dotgraph.cpp:204
DotGraph::writeGraphFooter
static void writeGraphFooter(TextStream &t)
Definition: dotgraph.cpp:300
DotGraph::absDotName
QCString absDotName() const
Definition: dotgraph.h:73
QCString::str
std::string str() const
Definition: qcstring.h:442
err
void err(const char *fmt,...)
Definition: message.cpp:203
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
DotGraph::writeGraphHeader
static void writeGraphHeader(TextStream &t, const QCString &title=QCString())
Definition: dotgraph.cpp:268
DotRunner::addJob
void addJob(const QCString &format, const QCString &output, const QCString &srcFile, int srcLine)
Adds an additional job to the run.
Definition: dotrunner.cpp:150
DotGraph::m_absPath
QCString m_absPath
Definition: dotgraph.h:87
DotGraph::absMapName
virtual QCString absMapName() const
Definition: dotgraph.h:66
Config_getInt
#define Config_getInt(name)
Definition: config.h:34
uchar
unsigned char uchar
Definition: qcstring.h:38
Dir::path
std::string path() const
Definition: dir.cpp:176
DotGraph::m_textFormat
EmbeddedOutputFormat m_textFormat
Definition: dotgraph.h:80
DotGraph::m_curNodeNumber
int m_curNodeNumber
Definition: dotgraph.h:103
IndexList::addImageFile
void addImageFile(const QCString &name)
Definition: index.h:105
EOF_DocBook
@ EOF_DocBook
Definition: dotgraph.h:28
deliverablesPresent
static bool deliverablesPresent(const QCString &file1, const QCString &file2)
Definition: dotgraph.cpp:67
Dir::absPath
std::string absPath() const
Definition: dir.cpp:305
Config_getEnumAsString
#define Config_getEnumAsString(name)
Definition: config.h:36
Dependency
@ Dependency
Definition: dotgraph.h:29
DotFilePatcher::writeSVGFigureLink
static bool writeSVGFigureLink(TextStream &out, const QCString &relPath, const QCString &baseName, const QCString &absImgName)
Check if a reference to a SVG figure can be written and do so if possible.
Definition: dotfilepatcher.cpp:539
DotGraph::m_graphFormat
GraphOutputFormat m_graphFormat
Definition: dotgraph.h:79
TRUE
#define TRUE
Definition: qcstring.h:36
DotNode::clearWriteFlag
void clearWriteFlag()
Definition: dotnode.cpp:765
TextStream::str
std::string str() const
Return the contents of the buffer as a std::string object
Definition: textstream.h:208
DotNode::writeArrow
void writeArrow(TextStream &t, GraphType gt, GraphOutputFormat f, const DotNode *cn, const EdgeInfo *ei, bool topDown, bool pointBack=TRUE) const
Definition: dotnode.cpp:483
DotGraph::m_zoomable
bool m_zoomable
Definition: dotgraph.h:93
insertMapFile
static bool insertMapFile(TextStream &out, const QCString &mapFile, const QCString &relPath, const QCString &mapLabel)
Definition: dotgraph.cpp:84
GOF_BITMAP
@ GOF_BITMAP
Definition: dotgraph.h:27
CallGraph
@ CallGraph
Definition: dotgraph.h:29
DotGraph::m_fileName
QCString m_fileName
Definition: dotgraph.h:82
DotGraph::absImgName
QCString absImgName() const
Definition: dotgraph.h:75
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
DotGraph::computeTheGraph
virtual void computeTheGraph()=0
DotGraph::imgName
QCString imgName() const
Definition: dotgraph.cpp:105
term
void term(const char *fmt,...)
Definition: message.cpp:220
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
DotGraph::getBaseName
virtual QCString getBaseName() const =0
Config_getString
#define Config_getString(name)
Definition: config.h:32
QCString::data
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string
Definition: qcstring.h:153
convertToXML
QCString convertToXML(const QCString &s, bool keepEntities)
Definition: util.cpp:3948
Dir::exists
bool exists() const
Definition: dir.cpp:199
DotGraph::m_noDivTag
bool m_noDivTag
Definition: dotgraph.h:92
DotGraph::prepareDotFile
bool prepareDotFile()
Definition: dotgraph.cpp:143
GOF_EPS
@ GOF_EPS
Definition: dotgraph.h:27
DotGraph::m_generateImageMap
bool m_generateImageMap
Definition: dotgraph.h:84
DotGraph::m_relPath
QCString m_relPath
Definition: dotgraph.h:83
sameMd5Signature
static bool sameMd5Signature(const QCString &baseName, const QCString &md5)
Definition: dotgraph.cpp:41
correctId
QCString correctId(const QCString &s)
Definition: util.cpp:3941
DotGraph::m_baseName
QCString m_baseName
Definition: dotgraph.h:88
FALSE
#define FALSE
Definition: qcstring.h:33
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108