Geoff Worboys writes:

Sam Varshavchik wrote:
> Running doxygen gives me a bunch of noise, like this:

> <unknown>:1: warning: Member load(const fd &fdRef) (function)
> of class vectorObj< constraint > is not documented.

> vectorObj is a template function that's defined in a header
> file that's installed in /usr/include/x

> The header files that are being processed with Doxygen define
> a class that subclasses this template instance.

> The template definitions in /usr/include/x do have their own
> Doxygen comments, as well as the subclass of the template
> instance.

> I'm trying to get rid of this noise. I tried setting EXCLUDE to
> /usr/include/x, but that made no difference.

It may not be what you need, but there is
    WARN_IF_UNDOCUMENTED

which defaults to YES.  Setting it to NO would presumably get
rid of the messages, so would setting EXTRACT_ALL to YES.
(Though I suppose you may be wanting the warnings, as long as
they are legit'.)

If I interpret correctly, you are not expecting vectorObj<>
to appear in this generation at all - it's supposed to be
something external to your document.  Is that right?

Right. It's coming from a system-installed include file, that's included by
my headers, and the template defined in the system-installed include file
gets instantiated in my headers I'm trying to document.

It sounds like doxygen is recognising something as a definition
of vectorObj<constraint>::load(...).  Could there be macros or
aliases or name lookup issues going on here?  Or maybe you are
forcing an instantiation of the template and doxygen is picking
up on that?

I have in a header file, somewhere in /usr/include:

template<typename T> class vectorObj {

  // blah
};

In my header file, that I'm running doxygen on, I have:

class snorkle : public vectorObj<foobar> {

  // blah

};

That's all I have. The snorkle class has Doxygen comments. The vectorObj template definition, in /usr/include, has Doxygen comments too.

And I get this warning. I could flip WARN_IF_UNDOCUMENTED, but I do certainly want to know if something of mine is undocumented. But I do not see exactly what needs, or should be documented here. All of snorkle's own methods are documented. And the template definion in /usr/include is also fully documented, including all of its methods. This is not a specialization, just a plain old template.

Having to document vectorObj<foobar>, just because I instantiated it with a particular class, sounds weird.

Attachment: pgpuftvsYU0q8.pgp
Description: PGP signature

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to