The attached files exemplify a bug in Doxygen 1.2.11 whereby
Doxygen seems unable to match a friend function with its
documentation in the presence of namespaces.
Here is bug3.cc (certified standard conformant C++ code):
namespace N {
class A;
void bar(A& a);
};
//! Documenting class A.
class N::A {
private:
int i;
public:
void foo();
friend void N::bar(A& a);
};
/*!
Documentation for foo.
*/
void N::A::foo() {
}
/*!
Documentation for bar.
*/
void N::bar(A& a) {
++a.i;
}
Doxygen outputs, among other things,
.../bug3.cc:13 Warning: Member N::bar of class N::A is not documented.
First, N::bar is not a member of class N::A.
Then it is not true that it is not documented.
In fact, it is documented the same way the member N::A::foo is.
To reproduce:
$ doxygen Doxyfile
$ make ps
All the best,
Roberto
--
Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:ba...@cs... |