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

Titles should include namespaces #598

Closed alandefreitas closed 3 weeks ago

alandefreitas commented 1 month ago

There’s no way to tell from a symbol’s page what namespace we’re in. We can compare the titles of these two pages:

There's no need to say "Overload set" or "Members" either.

We'll also notice that Doxygen assumes we are always in the boost::urls namespace, so it only says grammar::parse instead of boost::urls::grammar::parse. Because no options indicate this namespace in our Doxyfile, I can only assume it infers boost::urls can be omitted because this is common to all symbols in our documentation. As this inference demands research, is hard to implement, and not strictly necessary for things to make sense (for instance, cppreference doesn't do it), I suggest we leave that to a separate issue.

vinniefalco commented 1 month ago

There is a "document namespace" which removes the prefix "boost::urls" for example. This is a feature of docca not Doxygen, so it is not in the Doxyfile but rather the per-project docca config file located here:

https://github.com/boostorg/url/blob/develop/doc/xsl/custom-overrides.xsl#L8

vinniefalco commented 1 month ago

std gets away with it because it is just three characters, but if you fully qualify all the symbols in a Boost library documentation (URL for example) you have boost::urls:: repeated quite a lot. I've tried it that way and in my opinion it creates a lot of noise for little benefit. That is why this section is added to the docs: image