2

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
{
     //....
}
1
  • Would be nice to know which version of doxygen you are using and also an example of, part of, the mentioned problem / file for those that don't have that file. Commented Apr 9, 2019 at 7:54

2 Answers 2

1

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:

enter image description here

I might overlook something, but this looks OK to me. If I overlooked something please indicate it in the original question as an edit.

  • what is the filename you used?

Some side remarks:

  • current doxygen version is 1.8.15
  • have also a look at the chapter "Preprocessing" for _GLIBCXX_NOEXCEPT
Sign up to request clarification or add additional context in comments.

Comments

0

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.