cppalliance / mrdocs

MrDocs: A Clang/LLVM tool for building reference documentation from C++ code and javadoc comments.
https://mrdocs.com
Other
66 stars 16 forks source link

Review solutions to filter symbols #583

Closed alandefreitas closed 4 weeks ago

alandefreitas commented 1 month ago

This issue has been split from #480 (Features missing for Boost.URL) as it turned out to be more complex than we initially thought.

Some symbols, such as empty_value.adoc are def'ed out in doxygen and are not supposed to be documented. Doxygen doesn't compile the code, so things are simple there. We might need to come up with our solutions for Mr. Docs. It could be a matter of filtering it. This is a little more complex for things like make_void.adoc, which is excluded but also in the url namespace. This one is in boost/url/detail/* and should have been excluded for this reason.

After the gap analysis and comparison with other tools that use clang, it's clear we can't use the Doxygen solution here because 1) we need valid code and 2) the whole point of this new tool is to understand C++ constructs without these workarounds. There are many kinds of filters we learned from other tools, from symbol filters, input file filters, and explicit @exclude commands. We need to check which are the variants Boost.URL will need, implement these, and open issues for the others as features.

alandefreitas commented 4 weeks ago

Handled in passing in #605