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

Handle specialized template functions #750

Closed

Conversation

hidmic
Copy link
Contributor

@hidmic hidmic commented Oct 8, 2021

Precisely what the title says. It does so generalizing the regular expression used for function signature parsing in the doxygenfunction directive implementation.

@jakobandersen
Copy link
Collaborator

Looks interesting. Do you have some examples of what this enables?

@hidmic
Copy link
Contributor Author

hidmic commented Oct 13, 2021

@jakobandersen sorry for the delay. See 17c29de.

BTW flake8 isn't happy with master as-is.

@hidmic
Copy link
Contributor Author

hidmic commented Oct 25, 2021

@jakobandersen ping.

@jakobandersen
Copy link
Collaborator

Thanks!
Merged via rebase and a few extra commits (see aec4702 and its ancestors).
This regex indeed seems to fix the issue of function template specializations.

Notes for future improvements:

  • It seems that the Doxygen lookup needs specific white-spacing of template argument lists, e..g, f< int > works, but f<int> doesn't. This requirement currently is exposed on the user side.
  • The regex is getting complicated. When the lookup is changed, perhaps the parsing could be done with the Sphinx C++ domain instead. Though, we are getting into the icky problem that at this point Breathe technically doesn't know which language the lookup is for (this was mentioned/discussed somewhere I can't immediately find right know).

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

Successfully merging this pull request may close these issues.

2 participants