Is there a way to suppress the "documented symbol 'x' was not declared or defined" Doxygen warning for certain parts of the code?
I know similar questions have been asked at least here and here but I did not find the answers posted to those questions helpful for my case so I wanted to check if there were any solutions or ideas that would help in this use case.
So first of all, I need to have WARN_AS_ERROR=FAIL_ON_WARNINGS so that Doxygen exit code will be non-zero when there are (valid) warnings so that my pull request checker can detect issues correctly. In this case, however, Doxygen incorrectly claims that some documented symbols are not declared because it's unable to parse their declarations due to the way their declarations come from external library code (see below). So I would need that particular warning to be suppressed for the definitions of those particular functions. The documentation for those functions should still be processed and warnings about any other issues in that processing are very desired. Hence, to my understanding, @cond does not solve this. Is there anything that does?
For reference, this is where the undesired warning originates from although I don't think it should matter for the question: in file c.h:
//! blabla
namespace A
{
//! blabla
namespace B
{
//! blabla
class C
{
#include "lib.h" // This is where the function declarations are but Doxygen does not figure it
};
}
}
in file c.cpp:
using namespace A::B;
/*! The declaration of this function was in lib.h. I may document something additional here but Doxygen collects this function without that also, which is desired.
*/
void C::foo()
{
}