Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PATCH] Out-of-line docs for class template specialisations failing (Origin: bugzilla #703791) #5233

Closed
doxygen opened this issue Jul 2, 2018 · 0 comments

Comments

@doxygen
Copy link
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.8.4-GIT on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2013-07-08 14:10:57 +0000, o.mandel@menlosystems.com wrote:

Created attachment 248616
Patch for "Out-of-line docs for class template specialisations failing"

When documenting a class template specialisation out of line, the template arguments are interpreted as the second argument, i.e. as the header-file argument. Example of the problem:

// a.cxx

template struct A { };

/// \brief Correctly documented specialisation
template<> struct A { };

template<> struct A { };

/** \struct A

  • \brief Some class template
  • \tparam T Name of the type
    */

/** \struct A

  • \brief Non-working specialisation
    */

Use these commands to generate a default Doxyfile and to run it:

$ doxygen -g
$ doxygen
[...]
[a.cxx]:15: warning: the name `int' supplied as the argument of the [\class] command is not an input file
[...]
[a.cxx]:8: warning: Compound A< int > is not documented.
[...]

The attached patch fixes the problem for me, but it has two problems:

  • It breaks old (potentially undesired) functionality: \class A<a.h> (without space) was allowed before but fails to work now
  • The QRegExp cleanup is probably not ideal. There must be a better function to call to get the canonical class name.

On 2013-08-23 13:36:17 +0000, Dimitri van Heesch wrote:

Thanks, I'll include your patch in the next git update.

The cleanup function you were looking for is called removeRedundantWhiteSpace()

On 2013-08-23 15:04:18 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.5. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.

@doxygen doxygen closed this as completed Jul 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant