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 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><<span class="keyword">class</span> T> <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<int></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 © 2003-2013 University of Illinois at Urbana-Champaign. 96All Rights Reserved.</p> 97<hr> 98<!--#include virtual="/attrib.incl" --> 99</body> 100</html> 101