Doxygen прокомментируйте несколько переменных одновременно - PullRequest
14 голосов
/ 25 апреля 2011

Если у меня есть следующее:

/**
 * @brief (x,y,z) points for block
 */
int x, y, z;

Будет сгенерирована только эта документация для x, возможно ли в doxygen, чтобы она прокомментировала все x, y и z одним комментарием?

РЕДАКТИРОВАТЬ Следуя советам envu, у меня теперь есть следующее (основано на http://www.doxygen.nl/manual/grouping.html#memgroup)

//@{
/** some documentation here */
int x, y, z;
//@}

или

//@{
/**
 * @brief some documentation here
 */
int x, y, z;
//@}

Однако оба эти документа по-прежнему только документ x.с разными формами мне еще предстоит получить одну и ту же строку документации для охвата нескольких переменных

Ответы [ 4 ]

23 голосов
/ 25 марта 2013

Некоторое время я колотил по нему головой. Оказывается, вы должны установить DISTRIBUTE_GROUP_DOC = YES в конфигурации.

13 голосов
/ 25 апреля 2011

Я бы использовал для этого группы участников http://www.doxygen.nl/manual/grouping.html#memgroup. Синтаксис и выходные данные немного отличаются от того, чего вы хотите достичь, но я думаю, что это не должно повредить.

6 голосов
/ 27 июля 2012

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

Поместив комментарий над блоком группы элементов и добавив к нему префикс \name, вы получите описание, которое отображается над всеми переменными в группе элементов в списке атрибутов на странице Doxygen. Я считаю, что это краткое описание, но вы можете разместить здесь произвольно длинные описания, если хотите.

Это не приведет к тому, что одни и те же комментарии будут добавлены в поле сведений для каждой из переменных в группе элементов (поля сведений будут пустыми или если вы поместите комментарий в блок группы элементов, он все равно будет применимо только к первой переменной), но это действительно дает эффект документирования связанной группы переменных, что похоже на первоначальное намерение вопроса.

Пример:

/*! \name This will be the description for the following group of variables
          It can be arbitrarily long, but the first line will show up in bold,
          and any subsequent lines will show up like a description under it
*/
//@{
int relatedVariable1;
int relatedVariable2;
char* relatedVariable3;
//@}
1 голос
/ 07 июня 2016

Я установил параметр «DISTRIBUTE_GROUP_DOC» на вкладке «Эксперт». Их все участники группы получили одинаковый комментарий.

//@{
/** same comment for all members */
char aaa;
char bbb;
int ccc;
//@}
...