This page explains how to interpret the graphs that are generated by doxygen.
Consider the following example:
1 /*! Invisible class because of truncation* /
4 /*! Truncated class, inheritance relation is hidden* /
5 class Truncated : public Invisible { };
7 /* Class not documented with doxygen comments* /
8 class Undocumented { };
10 /*! Class that is inherited using public inheritance* /
11 class PublicBase : public Truncated { };
13 /*! A template class* /
14 template<class T> class Templ { };
16 /*! Class that is inherited using protected inheritance* /
17 class ProtectedBase { };
19 /*! Class that is inherited using private inheritance* /
20 class PrivateBase { };
22 /*! Class that is used by the Inherited class* /
25 /*! Super class that inherits a number of other classes* /
26 class Inherited : public PublicBase,
27 protected ProtectedBase,
This will result in the following graph:
The boxes in the above graph have the following meaning:
-
A filled gray box represents the struct or class for which the graph is generated.
-
A box with a black border denotes a documented struct or class.
-
A box with a gray border denotes an undocumented struct or class.
-
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.
The arrows have the following meaning:
-
A dark blue arrow is used to visualize a public inheritance relation between two classes.
-
A dark green arrow is used for protected inheritance.
-
A dark red arrow is used for private inheritance.
-
A 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.
-
A 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.