Esta página explica como interpretar os grafos gerados pelo doxygen.
Considere o seguinte exemplo:
/*! Esta classe vai estar escondida devido à truncação */
class Invisible { };
/*! Esta classe tem a relação de herança escondida */
class Truncated : public Invisible { };
/* Classe não documentada por comentários doxygen */
class Undocumented { };
/*! Classe derivada usando derivação pública */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Classe derivada usando derivação protegida */
class ProtectedBase { };
/*! Classe derivada usando derivação privada */
class PrivateBase { };
/*! Classe usada pela classe Inherited */
class Used { };
/*! Super classe que deriva de várias classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};
Isto irá gerar o seguinte gráfo:
As caixas no grafo anterior têm as seguintes interpretações:
-
Uma caixa inteiramente preta representa a estrutura ou a classe para a qual o grafo foi gerado.
-
Uma caixa com borda preta representa uma estrutura ou classe documentada.
-
Uma caixa com borda cinzenta representa uma estrutura ou classe não documentada.
-
Uma caixa com borda vermelha representa uma estrutura ou classe documentada onde nem todas as relações de herança/encapsulamento são exibidas. Um grafo é truncado quando não cabe na sua área predefinida.
As setas têm a seguinte interpretação:
-
Uma seta azul escura representa uma relação de herança pública entre duas classes.
-
Uma seta verde escura representa uma relação de herança protegida.
-
Uma seta vermelha escura representa uma relação de herança privada.
-
Uma seta rocha em tracejado representa uma relação de encapsulamento ou uso por parte de outra classe. A legenda da seta contém o nome da variável ou variáveis da relação. A seta aponta da classe que estabelece a relação para a classe ou estrutura que é acessível.