Doxygen STL support using scatter plots

I am working on documenting old mixed C ++ / fortran code using doxygen (version 1.8.0 on xubuntu 12.04 machine). My dot_graphs, call graph, and caller graphs diagrams work correctly, except when using the stl std :: vector class.

I have a class foo that should contain a vector of another line in the class.

class foo
{
  //What i'd like to do (1)
  std::vector<bar> d_bars
  //What works (2)
  bar* d_bars
};
class bar
{
  SOME_FUNCTION();
}

The bar class contains many functions, such as "SOME_FUNCTION ()". When a function inside the foo class calls SOME_FUNCTION:, the d_bars[i].SOME_FUNCTION();caller graph is only generated when d_bars is declared in the second way. This does not work with the current code and should work when declared in the first method using the stl vector class.

BUILTIN_STL_SUPPORT = YES. , . , . , .

+5
2

, , , .

, : , . , shared_pointers .

, , - sed.. , ... :

class A
{
public:
    A() {};
    ~A() {};
    DoSomeThingA(){
        AA_ = 0;
    };
private:
    int AA_;
};

class B
{
public:
    B() {};
    ~B(){};
    DoSomeThingB(){
        for (size_t i = 0; i < VecA_.size(); i++)
        {
            VecA_[i]->DoSomeThingA();
        }
    };
private:
    std::vector<std::shared_ptr<A>> VecA_;
};

sed (sed -e 's/VecA_\[i\]-^>/VecA_\./; s/std::vector^<std::shared_ptr^<A^>^>/A/') ( "^", , escape-, " > " ), :

class A
{
public:
    A() {};
    ~A() {};
    DoSomeThingA(){
        AA_ = 0;
    };
private:
    int AA_;
};

class B
{
public:
    B() {};
    ~B(){};
    DoSomeThingB(){
        for (size_t i = 0; i < VecA_.size(); i++)
        {
            VecA_.DoSomeThingA();
        }
    };
private:
    A VecA_;
};

, doxygen :

INPUT_FILTER = sed -e 's/VecA_\[i\]-^>/VecA_\./; s/std::vector^<std::shared_ptr^<A^>^>/A/'

FILTER_SOURCE_FILES = yes

SOURCE_BROWSER = yes

VERBATIM_HEADERS =

? , ... , , !

,

+1

BUILTIN_STL_SUPPORT.

0

All Articles