1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 3<title>Graph Legend</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5<link href="tabs.css" rel="stylesheet" type="text/css"> 6</head><body> 7<p> 8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> 9</p> 10<!-- end of header marker --> 11<!-- Generated by Doxygen 1.9.1 --> 12<script type="text/javascript" src="menudata.js"></script> 13<script type="text/javascript" src="menu.js"></script> 14<script type="text/javascript"> 15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 16$(function() { 17 initMenu('',false,false,'search.php','Search'); 18}); 19/* @license-end */</script> 20<div id="main-nav"></div> 21</div><!-- top --> 22<div class="header"> 23 <div class="headertitle"> 24<div class="title">Graph Legend</div> </div> 25</div><!--header--> 26<div class="contents"> 27<p>This page explains how to interpret the graphs that are generated by doxygen.</p> 28<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div> 29<div class="line"><span class="keyword">class </span>Invisible { };</div> 30<div class="line"><span class="comment"></span> </div> 31<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div> 32<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div> 33<div class="line"> </div> 34<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div> 35<div class="line"><span class="keyword">class </span>Undocumented { };</div> 36<div class="line"><span class="comment"></span> </div> 37<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div> 38<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div> 39<div class="line"><span class="comment"></span> </div> 40<div class="line"><span class="comment">/*! A template class */</span></div> 41<div class="line"><span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">class </span>Templ { };</div> 42<div class="line"><span class="comment"></span> </div> 43<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div> 44<div class="line"><span class="keyword">class </span>ProtectedBase { };</div> 45<div class="line"><span class="comment"></span> </div> 46<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div> 47<div class="line"><span class="keyword">class </span>PrivateBase { };</div> 48<div class="line"><span class="comment"></span> </div> 49<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div> 50<div class="line"><span class="keyword">class </span>Used { };</div> 51<div class="line"><span class="comment"></span> </div> 52<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div> 53<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div> 54<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div> 55<div class="line"> <span class="keyword">private</span> PrivateBase,</div> 56<div class="line"> <span class="keyword">public</span> Undocumented,</div> 57<div class="line"> <span class="keyword">public</span> Templ<int></div> 58<div class="line">{</div> 59<div class="line"> <span class="keyword">private</span>:</div> 60<div class="line"> Used *m_usedClass;</div> 61<div class="line">};</div> 62</div><!-- fragment --><p> This will result in the following graph:</p> 63<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p> 64<ul> 65<li> 66A filled gray box represents the struct or class for which the graph is generated. </li> 67<li> 68A box with a black border denotes a documented struct or class. </li> 69<li> 70A box with a gray border denotes an undocumented struct or class. </li> 71<li> 72A 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> 73</ul> 74<p>The arrows have the following meaning: </p> 75<ul> 76<li> 77A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> 78<li> 79A dark green arrow is used for protected inheritance. </li> 80<li> 81A dark red arrow is used for private inheritance. </li> 82<li> 83A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li> 84<li> 85A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li> 86</ul> 87</div><!-- contents --> 88<hr size="1"><address style="text-align: right;"><small> 89Generated on Tue Nov 15 2022 14:04:26 for Heimdal Kerberos 5 library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address> 90</body> 91</html> 92