1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head>
3<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
4<meta name="keywords" content="LLDB,C++,doxygen,API,documentation"/>
5<meta name="description" content="C++ source code API documentation for LLDB."/>
6<title>LLVM: Graph Legend</title>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head><body>
9<p class="title">LLDB API Documentation</p>
10<!-- Generated by Doxygen 1.8.1.2 -->
11  <div id="navrow1" class="tabs">
12    <ul class="tablist">
13      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
14      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
15      <li><a href="annotated.html"><span>Classes</span></a></li>
16      <li><a href="files.html"><span>Files</span></a></li>
17    </ul>
18  </div>
19</div><!-- top -->
20<div class="header">
21  <div class="headertitle">
22<div class="title">Graph Legend</div>  </div>
23</div><!--header-->
24<div class="contents">
25<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
26<p>Consider the following example: </p>
27<div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
28<div class="line"><span class="keyword">class </span>Invisible { };</div>
29<div class="line"><span class="comment"></span></div>
30<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
31<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
32<div class="line"></div>
33<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
34<div class="line"><span class="keyword">class </span>Undocumented { };</div>
35<div class="line"><span class="comment"></span></div>
36<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
37<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
38<div class="line"><span class="comment"></span></div>
39<div class="line"><span class="comment">/*! A template class */</span></div>
40<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
41<div class="line"><span class="comment"></span></div>
42<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
43<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
44<div class="line"><span class="comment"></span></div>
45<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
46<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
47<div class="line"><span class="comment"></span></div>
48<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
49<div class="line"><span class="keyword">class </span>Used { };</div>
50<div class="line"><span class="comment"></span></div>
51<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
52<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
53<div class="line">                  <span class="keyword">protected</span> ProtectedBase,</div>
54<div class="line">                  <span class="keyword">private</span> PrivateBase,</div>
55<div class="line">                  <span class="keyword">public</span> Undocumented,</div>
56<div class="line">                  <span class="keyword">public</span> Templ&lt;int&gt;</div>
57<div class="line">{</div>
58<div class="line">  <span class="keyword">private</span>:</div>
59<div class="line">    Used *m_usedClass;</div>
60<div class="line">};</div>
61</div><!-- fragment --><p> This will result in the following graph:</p>
62<center><div class="image">
63<img src="graph_legend.png" />
64</div>
65</center><p>The boxes in the above graph have the following meaning: </p>
66<ul>
67<li>
68A filled gray box represents the struct or class for which the graph is generated. </li>
69<li>
70A box with a black border denotes a documented struct or class. </li>
71<li>
72A box with a grey border denotes an undocumented struct or class. </li>
73<li>
74A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
75</ul>
76<p>The arrows have the following meaning: </p>
77<ul>
78<li>
79A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
80<li>
81A dark green arrow is used for protected inheritance. </li>
82<li>
83A dark red arrow is used for private inheritance. </li>
84<li>
85A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
86<li>
87A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
88</ul>
89</div><!-- contents -->
90<hr>
91<p class="footer">
92Generated on Fri Jul 19 2013 13:25:55 for <a href="http://lldb.llvm.org/">LLVM</a> by
93<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
94align="middle" border="0"/>1.8.1.2</a><br>
95Copyright &copy; 2003-2013 University of Illinois at Urbana-Champaign.
96All Rights Reserved.</p>
97<hr>
98<!--#include virtual="/attrib.incl" -->
99</body>
100</html>
101