<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
<p>Consider the following example: </p><divclass="fragment"><divclass="line">/*! Invisible class because of truncation */</div><divclass="line">class Invisible { };</div><divclass="line"></div><divclass="line">/*! Truncated class, inheritance relation is hidden */</div><divclass="line">class Truncated : public Invisible { };</div><divclass="line"></div><divclass="line">/* Class not documented with doxygen comments */</div><divclass="line">class Undocumented { };</div><divclass="line"></div><divclass="line">/*! Class that is inherited using public inheritance */</div><divclass="line">class PublicBase : public Truncated { };</div><divclass="line"></div><divclass="line">/*! A template class */</div><divclass="line">template<class T> class Templ { };</div><divclass="line"></div><divclass="line">/*! Class that is inherited using protected inheritance */</div><divclass="line">class ProtectedBase { };</div><divclass="line"></div><divclass="line">/*! Class that is inherited using private inheritance */</div><divclass="line">class PrivateBase { };</div><divclass="line"></div><divclass="line">/*! Class that is used by the Inherited class */</div><divclass="line">class Used { };</div><divclass="line"></div><divclass="line">/*! Super class that inherits a number of other classes */</div><divclass="line">class Inherited : public PublicBase,</div><divclass="line"> protected ProtectedBase,</div><divclass="line"> private PrivateBase,</div><divclass="line"> public Undocumented,</div><divclass="line"> public Templ<int></div><divclass="line">{</div><divclass="line"> private:</div><divclass="line"> Used *m_usedClass;</div><divclass="line">};</div></div><!-- fragment --><p> This will result in the following graph:</p>
<center><divclass="image">
<imgsrc="graph_legend.png"/>
</div>
</center><p>The boxes in the above graph have the following meaning: </p>
<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
A box with a black border denotes a documented struct or class. </li>
<li>
A box with a gray border denotes an undocumented struct or class. </li>
<li>
A 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>
</ul>
<p>The arrows have the following meaning: </p>
<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
A dark green arrow is used for protected inheritance. </li>
<li>
A dark red arrow is used for private inheritance. </li>
<li>
A 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>
<li>
A 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>