Graphs and diagrams

Doxygen has built-in support to generate inheritance diagrams for C++ classes.

Doxygen can use the "dot" tool from graphviz 1.5 to generate more advanced diagrams and graphs. Graphviz is an "open-sourced", cross-platform graph drawing toolkit from AT&T and Lucent Bell Labs and can be found at http://www.research.att.com/sw/tools/graphviz/

If you have the "dot" tool available in the path, you can set HAVE_DOT to YES in the configuration file to let doxygen use it.

Doxygen uses the "dot" tool to generate the following graphs:

The elements in the class diagrams in HTML and RTF have the following meaning:

The elements in the class diagram in $\mbox{\LaTeX}$ have the following meaning:

The elements in the graphs generated by the dot tool have the following meaning:

Here are a couple of header files that together show the various diagrams that doxygen can generate:

diagrams_a.h

#ifndef _DIAGRAMS_A_H #define _DIAGRAMS_A_H class A { public: A *m_self; }; #endif
diagrams_b.h
#ifndef _DIAGRAMS_B_H #define _DIAGRAMS_B_H class A; class B { public: A *m_a; }; #endif
diagrams_c.h
#ifndef _DIAGRAMS_C_H #define _DIAGRAMS_C_H #include "diagrams_c.h" class D; class C : public A { public: D *m_d; }; #endif
diagrams_d.h
#ifndef _DIAGRAM_D_H #define _DIAGRAM_D_H #include "diagrams_a.h" #include "diagrams_b.h" class C; class D : virtual protected A, private B { public: C m_c; }; #endif
diagrams_e.h
#ifndef _DIAGRAM_E_H #define _DIAGRAM_E_H #include "diagrams_d.h" class E : public D {}; #endif

Click here for the corresponding HTML documentation that is generated by doxygen
(EXTRACT_ALL = YES is used here).

Go to the next section or return to the index.


Generated on Tue Sep 21 10:19:07 2004 for Doxygen manual by doxygen 1.3.7