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&amp;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>&lt;<span class="keyword">class</span> T&gt; <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&lt;int&gt;</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&nbsp;<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