Doxygen/C++ : bug with callgraph + template?
I work with Ubuntu + Doxygen (+ GraphViz) and I have a problem to generate callgraphs for template class.

Here there is my test code for documentation :

    #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

The problem is that Doxygen generate callgraphs for f1() and f2() for Class1, Class2 and Class3 but nothing for Class4. Do you have this problem too ? Is there any solution ? Is it a problem of Doxygen or GraphViz ?

Thank you very much.
Doxygen/C++ : bug with callgraph + template?
===

I work with Ubuntu + Doxygen (+ GraphViz) and I have a problem to generate callgraphs for template class.

Here there is my test code for documentation :

    #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

The problem is that Doxygen generate callgraphs for f1() and f2() for Class1, Class2 and Class3 but nothing for Class4. Do you have this problem too ? Is there any solution ? Is it a problem of Doxygen or GraphViz ?

Thank you very much.