Создание документации Doxygen для заголовков C ++ STL - PullRequest
2 голосов
/ 09 апреля 2019

Попытка сгенерировать вывод Doxygen для заголовков GNU C ++ STL (находится в каталоге /usr/include/c++/6/).Это работает, генерирует выходные данные, но результат довольно скудный - нет документации, сгенерированной, например, для открытых функций std :: vector и т. Д. Функции файла заголовка выглядят правильно аннотированными, но все еще не могут получить желаемый результат.

Пробовал настраивать многочисленные записи в Doxyfile (RECURSIVE, EXTRACT_ALL и т. Д.), Но без радости.Любые указатели приветствуются.

$ doxygen --version
1.8.13

Например, аннотация для функции std :: vector :: swap () выглядит следующим образом:

 /**
  *  @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
{
     //....
}

Ответы [ 2 ]

0 голосов
/ 13 апреля 2019

На самом деле существует "официальное" средство создания этой документации: https://gcc.gnu.org/onlinedocs/libstdc++/manual/documentation_hacking.html

Если ничего другого, вы можете взять пакет GCC и посмотреть, какой файл Doxygen у него есть, а затем переназначить его так, чтобы он выглядел в каталоге системных заголовков. В заголовках много макрокоманд препроцессора, поэтому, скорее всего, Doxygen сработает из-за них.

0 голосов
/ 10 апреля 2019

Не ответ, но я хотел включить изображение.

Я взял код, как указано, простой Doxy-файл с только EXTRACT_ALL, установленным на YES, и получаю:

enter image description here

Я мог бы что-то упустить, но для меня это нормально. Если я что-то упустил, пожалуйста, укажите это в исходном вопросе в качестве правки.

  • какое имя файла вы использовали?

Некоторые замечания:

  • текущая версия Doxygen 1.8.15
  • также посмотрите главу "Предварительная обработка" для _GLIBCXX_NOEXCEPT
...