I'm trying to learn Doxygen.
I almost have all warnings and errors found. However there are two that I cannot figure out.
My code is something like
namespace SE{
//! Description etc
template <typename _T>
class MyClass{
public:
MyClass(int, int);
private:
std::vector<std::vector<_T>> data;
double X; //< Description
}
//! Description etc
template <typename T>
MyClass<T>::MyClass(int rows, int cols){
data.resize(rows, std::vector<T>(cols));
}
} /* End of namespace SE*/
When I try to process it with doxygen I am getting a warning:
warning: Member resize(rows, std::vector< T >(cols)) (function) of namespace SE is not documented
It looks like it thinks that this is my own function. How do I tell Doxygen it is from std::vector?
I also have another member function defined outside of the function body which has a for loop and I am getting
warning: Member for(auto i=0;i< n;++i) (function) of namespace SE is not documented.
I also had another function where I had a member variable, X, and when I was writing the function outside the class definition body, it said that X was not documented.
//! Description etc.
void MyClass::myfunc(){
X=2.0; // Doxygen complained here
}
I was able to "fix" it by doing
void MyClass::myfunc(){
MyClass::X=2.0; // Doxygen warning suppressed
}
or
void MyClass::myfunc(){
this->X=2.0; // Doxygen warning suppressed
}
Should I have needed to do this?
EDIT: I also have the issue that in the documentation I have:
Functions
SE::for (auto i=0;i< n;++i)
data SE::resize (n, std::vector< T >(m))
in the generated documentation