#c #doxygen
#c #doxygen
Вопрос:
Когда я пытаюсь сгенерировать график совместной работы для классов, включающих элементы контейнера, такие как векторы, Doxygen не замечает, что у него есть документация по этому классу. Может быть, пример покажет, что я имею в виду:
#include <vector>
class Foo
{
int number;
};
class Bar
{
int anotherNumber;
};
class MyClass
{
Bar x;
std::vector<Foo> y;
};
Но график совместной работы не содержит информации о Foo
, хотя он является частью проекта.
Если вы хотите попробовать это самостоятельно, установите
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
HIDE_UNDOC_RELATIONS = NO
Есть ли какой-нибудь способ включить Foo
правильно?
Комментарии:
1. Я не уверен, что вы пытаетесь мне сказать. Doxygen не компилирует ваш код, поэтому любые вызываемые вами функции не имеют значения.
2. Что вы имеете в виду, говоря «Doxygen не замечает, что у него есть документация по этому классу»? Вы ожидаете, что он создаст ссылку на
Foo
класс в графике совместной работы? Вы всегда можете добавить ссылку наFoo
вручную в документацииMyClass
.3. Ну, он создает ссылку для
Bar
и сообщает мне, чтоBar
у него есть членanotherNumber
. Почему он не должен сообщать мне, чтоFoo
у него также есть другой член? В тех случаях, когда у вас есть несколько элементов контейнера разных классов, это «скрывает» взаимозависимости между этими классами, потому что вы не можете сразу увидеть, что они, в свою очередь, содержат, как вы делаете с «обычными» (Bar
-подобными) членами.