Я работаю с Ubuntu + Doxygen (+ GraphViz), и у меня возникла проблема с генерацией коллографов для шаблонного класса.
Вот мой тестовый код для документации:
#ifndef TEST_H_INCLUDED
#define TEST_H_INCLUDED
// ---------------------------------- //
// Doxygen callgraph OK
class Class1
{
public:
int f1() {return f2();}
int f2() {return x;}
protected:
int x;
};
// ---------------------------------- //
// Doxygen callgraph OK
class Class2
{
public:
int f1();
int f2();
protected:
int x;
};
int Class2::f1()
{
return f2();
}
int Class2::f2()
{
return x;
}
// ---------------------------------- //
// Doxygen callgraph OK
template<class T> class Class3
{
public:
T f1() {return f2();}
T f2() {return x;}
protected:
T x;
};
// ---------------------------------- //
// Doxygen callgraph PROBLEM (no callgraph)
template<class T> class Class4
{
public:
T f1();
T f2();
protected:
T x;
};
template<class T> T Class4<T>::f1()
{
return f2();
}
template<class T> T Class4<T>::f2()
{
return x;
}
// ---------------------------------- //
#endif // TEST_H_INCLUDED
Проблема в том, что Doxygen генерирует графы вызовов для f1 () и f2 () для Class1, Class2 и Class3, но ничего для Class4. У вас тоже есть эта проблема? Есть ли решение? Это проблема Doxygen или GraphViz?
Большое спасибо.