Doxygen : problème de call graph avec les templates (Class4<T>:: non compris)
Bonjour.
J'ai un problème avec Doxygen : celui-ci n'arrive pas à me sortir de callgraph d'un truc très simple et je ne comprends pas pourquoi. Je travaille sur Ubuntu avec Doxygen 1.7.4 et GraphViz
Voilà le code qui me sert d'exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| #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 |
Le problème est que Doxygen n'arrive pas à produire le callgraph de f1() et de f2() de la Class4 car apparemment il ne comprend pas la syntaxe Class4<T>:: .
Est-ce un bug ou est-ce que j'ai zappé quelque chose ? Si cela est-un bug arrivez vous à le reproduire ?
Merci beaucoup ;)