Reputation: 165
Trying to generate Doxygen output for GNU C++ STL headers (located in /usr/include/c++/6/
directory). It kind of works, it generates the output but the result is rather meager - no documentation generated for, for example, std::vector public functions etc. The header file functions look properly annotated but still can't get the desired output.
Tried tweaking numerous entries in Doxyfile (RECURSIVE, EXTRACT_ALL, etc) but no joy. Any pointers would be appreciated.
$ doxygen --version
1.8.13
As an example, the annotation for std::vector::swap() function looks like:
/**
* @brief Swaps data with another %vector.
* @param __x A %vector of the same element and allocator types.
*
* This exchanges the elements between two vectors in constant time.
* (Three pointers, so it should be quite fast.)
* Note that the global std::swap() function is specialized such that
* std::swap(v1,v2) will feed to this function.
*/
void
swap(vector& __x) _GLIBCXX_NOEXCEPT
{
//....
}
Upvotes: 2
Views: 1748
Reputation: 392
There is actually an "official" means of generating this documentation: https://gcc.gnu.org/onlinedocs/libstdc++/manual/documentation_hacking.html
If nothing else, you could grab a GCC package and look at what Doxygen file it has, and then re-purpose that so it looks in your system header directory. There are a lot of preprocessor macros in the headers, so likely Doxygen is getting tripped up on these.
Upvotes: 0
Reputation: 9012
Not an answer, but I wanted to include an image.
I took the code as indicated, a plain Doxyfile with only EXTRACT_ALL
set to YES
and I get:
I might overlook something, but this looks OK to me. If I overlooked something please indicate it in the original question as an edit.
Some side remarks:
_GLIBCXX_NOEXCEPT
Upvotes: 1